I just discovered something weird about Android studio: it has some configuration options in the
Gradle overrides the manifest values, and I prefer to update the
build.gradle file rather than the manifest. Probably this is the right way using Gradle. Gradle supports product flavours which can be controlled via an IDE and those product flavors can change many things in our Manifest like package name, version code, version name, target SDK and many other. Then by one click in Android Studio you can change many properties and generate another apk.
You can leave the manifest as it is and do all configuration in
build.gradle. You can safely remove
from manifest as well as version codes.