Android 清单与 Gradle 脚本

Android Manifest vs Gradle Script

我在 Gradle 构建脚本中将 minSdkVersion 设置为 8,在 Android 模块清单中将 minSdkVersion 设置为 4。

拍的是哪一张?为什么这两个不同步?

当 Android 中没有 gradle 支持时,清单决定了一切。现在,如果您向项目添加了 gradle 支持,旧的清单标签将被简单地忽略,因为 gradle builds your app 并决定哪个是正确的最低版本。

主要的原因应该是identified这个事实:

These build values override the existing values in the manifest file. This is useful if you want to generate multiple APKs for your modules where each of the apk files has a different application name, minimum SDK version, or target SDK version. When multiple manifests are present, manifest settings are merged in priority of buildType and productFlavor, /main manifest, and the library manifests

换句话说,gradle 允许 构建变体 并允许您为每个变体指定最小和目标 SDK。