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, однако вы можете переключиться на эспрессо.