我刚刚发现了一些关于Android studio的奇怪之处:它在build.gradle文件中有一些配置选项可以覆盖文件中指定的AndroidManifest.xml内容.
例如,我有以下几行build.gradle:
android {
compileSdkVersion 18
buildToolsVersion "18.1.1"
defaultConfig {
minSdkVersion 10
targetSdkVersion 10
}
...
}
Run Code Online (Sandbox Code Playgroud)
它覆盖了相应的标签AndroidManifest.xml:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8"/>
Run Code Online (Sandbox Code Playgroud)
我真的不喜欢有两个不同的文件传播相同的设置,所以我想知道如果我可以放心地无论是从删除它build.gradle或AndroidManifest.xml与它更有意义,保持它.
是否可以minSdkVersion为测试设置不同于应用程序本身?我问,因为我想使用新的测试支持库和UI Automator进行测试.但是,这仅适用于API 18+.与此同时,我仍然希望支持旧版Android,尽管没有经过全面测试.build.gradle为了做到这一点,我需要添加到我的文件中?
为了澄清,我使用Android Studio和"新的"基于Gradle的项目结构.