使用minSdkVersion 9的项目中的UI Automator
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用minSdkVersion 9的项目中的UI Automator相关的知识,希望对你有一定的参考价值。
我尝试使用minSdkVersion 9在我的项目中使用UI Automator,当然它不起作用,因为它针对API 18。
所以android Studio会抛出这个错误:
Error:(5, 5) uses-sdk:minSdkVersion 9 cannot be smaller than version 18 declared in library ~/app/build/intermediates/exploded-aar/com.android.support.test.uiautomator/uiautomator-v18/2.1.1/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="android.support.test.uiautomator.v18" to force usage
Error:Execution failed for task ':app:processDebugAndroidTestManifest'.
> java.lang.RuntimeException: Manifest merger failed : uses-sdk:minSdkVersion 9 cannot be smaller than version 18 declared in library ~/app/build/intermediates/exploded-aar/com.android.support.test.uiautomator/uiautomator-v18/2.1.1/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="android.support.test.uiautomator.v18" to force usage
我添加到我的Manifest标签<uses-sdk tools:overrideLibrary="android.support.test.uiautomator.v18" />
但错误一直显示,我做错了什么?
如果你使用gradle,你可以在androidTest
构建类型中添加另一个Manifest,它将被合并,不会影响你的正常发布/调试版本。
将app/src/androidTest/AndroidManifest.xml
添加到您的项目中:
<manifest
package="${applicationId}.test"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-sdk tools:overrideLibrary="android.support.test.uiautomator.v18"/>
</manifest>
这会将清单与您的正常清单合并,而不需要更改您的minSdk
。请注意,如果您尝试在sdk <18上运行UI Instrumentation测试,这可能会崩溃。
通过向debug/AndroidManifest
添加其他权限,您还可以添加测试权限,例如外部存储,如果您在应用中不经常需要它们。它们虽然也可用于您的调试版本。
您需要使用minSdkVersion 18构建您的应用程序,但您仍然可以切换到浓缩咖啡。
这对我有用
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="${applicationId}.test">
<uses-sdk tools:overrideLibrary="android_libs.ub_uiautomator" />
以上是关于使用minSdkVersion 9的项目中的UI Automator的主要内容,如果未能解决你的问题,请参考以下文章
minSdkVersion 9 不能小于库中声明的版本 14
Cordova 构建 minSdkVersion 将 16 更改为 19