Android studio:为什么在AndroidManifest.xml和build.gradle中都指定了minSdkVersion和targetSdkVersion?
我刚刚发现了Android studio的一些奇怪之处:在build.gradle
文件中有一些configuration选项覆盖了AndroidManifest.xml
文件中指定的内容。
例如,我在build.gradle
有以下几行:
android { compileSdkVersion 18 buildToolsVersion "18.1.1" defaultConfig { minSdkVersion 10 targetSdkVersion 10 } ... }
这是重写AndroidManifest.xml
的相应标签:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/>
我真的不喜欢在两个不同的文件中传播相同的设置,所以我想知道如果我可以安全地从build.gradle
或AndroidManifest.xml
删除它,并保持它更有意义。
Gradle重写清单值,我更喜欢更新build.gradle
文件而不是清单。 也许这是使用Gradle的正确方法。 Gradle支持可以通过IDE进行控制的产品风格,这些产品风格可以在我们的清单(如包名称,版本代码,版本名称,目标SDK等等)中更改很多东西。 然后通过在Android Studio中单击一下即可更改许多属性并生成另一个apk。
您可以保持原样,并在build.gradle
执行所有configuration。 你可以安全地删除
<uses-sdk></uses-sdk>
从清单和版本代码。