android - 带有 minSdkVersion 9 的项目中的 UI Automator

标签 android testing android-manifest android-uiautomator

我试图在我的 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

我在我的 list 中添加了标签 <uses-sdk tools:overrideLibrary="android.support.test.uiautomator.v18" />但是错误一直显示,我做错了什么?

最佳答案

如果您使用 gradle,您可以将 another Manifest 添加到 androidTest 构建类型中,该构建类型将被合并并且不会影响您的正常发布/调试构建。

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>

这会将 list 与您的普通 list 合并,而无需更改您的 minSdk。请注意,如果您尝试在 sdk < 18 上运行 UI Instrumentation Tests,这可能会崩溃。

通过向 debug/AndroidManifest 添加额外的权限,如果您的应用程序中不经常需要它们,您也可以只为您的测试添加权限,例如外部存储。虽然它们也可用于您的调试版本。

关于android - 带有 minSdkVersion 9 的项目中的 UI Automator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31793724/

相关文章:

unit-testing - Spring 引导配置文件。如何测试?

c# - 这些是什么类型的测试,应该编写它们吗?

android - 如何修复 "unexpected element <queries> found in <manifest>"错误?

java - Android Activity list 错误

android - 在flutter应用程序中获得互联网许可

android - 如何复制 View 以填充列表和表格?

android - 如何根据其他 fragment 的方法刷新 ListFragment 列表?

android - 在android中自定义对话框列表

android - 由于 : 'null' - Android Studio 3. 5,安装失败

node.js - 我可以更改 jasmine-node 的输出以在控制台中显示通过的测试以及失败的测试吗?