用于minSdkVersion的项目中的UI Automator 9

即时通讯尝试在我的项目中使用UI Automator与minSdkVersion 9,当然因为它的目标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" />但错误不断显示,我做错了什么?

Related of "用于minSdkVersion的项目中的UI Automator 9"

如果您使用gradle,则可以将另一个 Manifest添加到androidTest构buildtypes中,该构buildtypes将被合并,而不会影响正常的发布/debugging构build。

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 Instrumentationtesting,可能会崩溃。

通过向debug/AndroidManifest添加额外的权限,如果您不需要在您的应用程序中经常需要这些权限,则还可以为您的testing(如外部存储)添加权限。 他们将尽pipe也可用于您的debugging版本。

您需要使用minSdkVersion 18来构build您的应用程序,但您仍然可以切换到意式浓缩咖啡。