我有一个android studio项目,在AndroidManifest.xml和build.gradle中将minSdkVersion设置为14
现在我想编写一些自动化测试,所以我在build.gradle中添加了一些依赖项。其中之一是: androidTestCompile' com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
当我尝试运行测试时,我得到:
错误:(5,5)使用-sdk:minSdkVersion 14不能小于库com.android.support.test.uiautomator / uiautomator-v18 / 2.1.1 / AndroidManifest.xml
中声明的版本18错误:任务':app:processDebugTestManifest'执行失败。 java.lang.RuntimeException:清单合并失败:uses-sdk:minSdkVersion 14不能小于库com.android.support.test.uiautomator / uiautomator-v18 / 2.1.1 / AndroidManifest.xml中声明的版本18建议:使用工具:overrideLibrary =" android.support.test.uiautomator.v18"强制使用
我将清单文件更改为:,但这没有帮助。
如果我将build.gradle更改为minSdkVersion 18,那么它可以工作。但是我不想因为测试库而改变应用程序的minSdkVersion。
有没有办法在我运行自动化测试时将build.gradle配置为使用minSdkVersion 18,但是为应用程序保留minSdkVersion 14?
答案 0 :(得分:2)
我是这样做的:
以下是我的build.gradle
的摘录defaultConfig {
applicationId "..."
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
productFlavors {
appConfig {
}
testConfig {
minSdkVersion 18
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
}
}
}
dependencies {
...
testConfigCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'