UI Automator в проекте с minSdkVersion 9
im пытается использовать 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
Я добавил в свой манифест тег <uses-sdk tools:overrideLibrary="android.support.test.uiautomator.v18" />
, но ошибка продолжает показывать, я делаю что-то неправильно?
Ответы
Ответ 1
Если вы используете gradle, вы можете добавить еще один манифест в тип сборки 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>
Это объединит манифест с вашим обычным, не требуя изменить ваш minSdk
. PLease обратите внимание, что это, вероятно, сбой, если вы попытаетесь запустить тесты инструментария пользовательского интерфейса на sdk < 18.
Добавив дополнительные разрешения для debug/AndroidManifest
, вы также можете просто добавить разрешения для своих тестов, например, внешнее хранилище, если вы не регулярно их используете в своем приложении. Они также будут доступны для ваших отладочных сборников.
Ответ 2
Вам нужно создать приложение с помощью minSdkVersion 18, однако вы можете переключиться на эспрессо.