uiautomator2 test support studio instalar android testing android-manifest uiautomator android-uiautomator

android - test - uiautomator2



UI Automator en proyecto con minSdkVersion 9 (3)

Estoy intentando usar UI Automator en mi proyecto con minSdkVersion 9 y, por supuesto, no funciona porque está orientado a la API 18.

Así que Android Studio me lanza este error:

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

Agregué a mi Manifiesto la etiqueta <uses-sdk tools:overrideLibrary="android.support.test.uiautomator.v18" /> pero el error sigue apareciendo, ¿estoy haciendo algo mal?


Debe crear su aplicación con minSdkVersion 18, sin embargo, aún puede cambiar a espresso.


Esto funciono para mi

<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" />


Si usa gradle, puede agregar otro Manifest al tipo de compilación androidTest que se fusionará y no afectará a sus compilaciones de versión / depuración normales.

Agregue app/src/androidTest/AndroidManifest.xml a su proyecto:

<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>

Esto fusionará el manifiesto con el normal, sin necesidad de cambiar tu minSdk . Tenga en cuenta que esto probablemente se bloqueará si intenta ejecutar pruebas de instrumentación de UI en sdk <18.

Al agregar permisos adicionales a debug/AndroidManifest , también puede agregar permisos para sus pruebas, como almacenamiento externo, si no las necesita regularmente en su aplicación. Aunque también estarán disponibles para sus versiones de depuración.