- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 AndroidManifest.xml 和 build.gradle 中有一个 minSdkVersion 设置为 14 的 android studio 项目
现在我想写一些自动化测试,所以我在build.gradle中添加了一些依赖。其中之一是:androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
当我尝试运行测试时,我得到:
错误:(5, 5) uses-sdk:minSdkVersion 14 不能小于库 com.android.support.test.uiautomator/uiautomator-v18/2.1.1/AndroidManifest.xml 中声明的版本 18
错误:任务 ':app:processDebugTestManifest' 执行失败。 java.lang.RuntimeException: Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 18 declared in library com.android.support.test.uiautomator/uiautomator-v18/2.1.1/AndroidManifest.xml 建议:使用工具:overrideLibrary="android.support.test.uiautomator.v18"强制使用
我将 list 文件更改为:,但这没有帮助。
如果我将 build.gradle 更改为 minSdkVersion 18,那么它就可以工作了。但我不想仅仅因为测试库而更改我的应用程序的 minSdkVersion。
有没有办法配置 build.gradle 在我运行自动化测试时使用 minSdkVersion 18,但为应用保留 minSdkVersion 14?
最佳答案
这是我的做法:
以下是我的 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'
关于android - 如何仅在运行测试时更改 minSdkVersion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35203292/
我是一名优秀的程序员,十分优秀!