La instalación de ADB falla con INSTALL_FAILED_TEST_ONLY

Tengo problemas para instalar un apk en mi dispositivo.

adb install  

El uso del comando anterior devuelve lo siguiente:

 5413 KB/s (99747 bytes in 0.017s) pkg: /data/local/tmp/AppClient.TestOnly.App3.apk Failure [INSTALL_FAILED_TEST_ONLY] 

¿Alguna idea sobre qué podría causar este problema?

Definitivamente reconoce el dispositivo. ¿Podría ser un problema con la apk?

Parece que necesitas modificar tu AndroidManifest.xml
Cambiar android:testOnly="true" a android:testOnly="false" o eliminar este atributo.

Si desea mantener el atributo android:testOnly como true , puede usar el comando pm install con la opción -t , pero es posible que deba push el apk primero en el dispositivo.

 $ adb push bin/hello.apk /tmp/ 5210 KB/s (825660 bytes in 0.154s) $ adb shell pm install /tmp/hello.apk pkg: /tmp/hello.apk Failure [INSTALL_FAILED_TEST_ONLY] $ adb shell pm install -t /tmp/hello.apk pkg: /tmp/hello.apk Success 

Pude reproducir el mismo problema y lo anterior lo resolvió.

Si su APK está fuera del dispositivo (en su escritorio), entonces debajo del comando lo haría:

 $ adb install -t hello.apk 

En mi caso, este error fue en la versión gradle inestable. Simplemente use una versión estable de gradle (no alfa, ni siquiera beta). Y fue arreglado para mi

Tuve un problema similar con Android Studio 3.0.0 Beta 7 y no pude publicar más en Play Store.

Como se indica aquí: https://developer.android.com/studio/run/index.html

Nota: El botón Ejecutar crea un APK con testOnly = “true”, lo que significa que el APK solo se puede instalar a través de adb (que usa Android Studio). Si desea un APK depurable que las personas puedan instalar sin adb, seleccione su variante de depuración y haga clic en Comstackr> Crear APK (s).

Lo mismo ocurre con la versión de lanzamiento, con Android Studio 3 debe ir a Build > Build APK(s) para tener una versión de prueba no comprobable que pueda enviar a la tienda.

Agregar indicador de instalación, como en la captura de pantalla a continuación:

la respuesta está en el recuadro rojo

Estoy de acuerdo con Elisey. Obtuve el mismo error después de abrir mi proyecto en la vista previa 2.4 y luego abrir el mismo proyecto en Android 2.3.

Se corrigió el problema al cambiar esta línea en build.gradle desde

 classpath 'com.android.tools.build:gradle:2.4.0-alpha5' 

a

 classpath 'com.android.tools.build:gradle:2.3.1' 

Después de buscar y navegar todo el día, el único que funciona es agregar

 android.injected.testOnly=false 

al archivo gradle.properties

Android studio 3.0 genera prueba solo APK.

He resuelto el problema agregando la propiedad “android: testOnly” a la etiqueta del manifiesto de Android.

   

Y luego generó la APK con el menú de Android studio3.0: Build -> Build APK (s) .

Más información: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

En mi caso fue mediante la carga de un APK, que aunque fue firmado con certificado de producción y era una variante de lanzamiento, fue generado por el botón Ejecutar ejecución desde el estudio de Android. Problema resuelto después de generar APK desde Gradle o desde la opción de menú Build Build.

Si desea probar el apk, simplemente agregue la opción de línea de comando -t .

Ejemplo de comando:

 adb install -t .\app-debug.apk 

agregue esta línea a su ‘gradle.properties’

 android.injected.testOnly=false 

La forma más fácil de resolver esto, sin volver a una versión anterior de gradle, es agregar la opción ‘-t’ en las configuraciones de ejecución (para la instalación pm).

testOnly = ‘falso’ no tuvo efecto alguno. El error es causado por la versión alfa del complemento gradle que hace que la depuración APK “solo con fines de prueba”. La opción -t permite la instalación de dicho APK. Configurarlo en la configuración de ejecución hace que instale automáticamente su APK como de costumbre.

Veo la respuesta aceptada, pero no tiene que empujar la aplicación y ejecutar el comando en adb shell. La instalación directa de adb con la bandera -t realmente funciona.

adb install -t “ruta a apk en tu computadora”

adjuntando una captura de pantalla para referencia enter image description here

No sé si será útil para cualquiera o no, pero recibí este mensaje de error cuando accidentalmente intenté construir e instalar mi proyecto con la versión de prueba gradle ( 'gradle:2.4.0-alpha5' ) en stable Versión de Android Studio (versión de 2.4 preview 5 2.3 , no en 2.4 preview 5 que había descargado e instalado antes).

Cuando me di cuenta de mi error, lancé una vista previa de la versión de Android Studio y compiló e instaló mi proyecto sin ningún problema.

esto funciona para mí adb install -t myapk.apk

Aunque estoy seguro de que la respuesta de Saurabh funcionará para la mayoría de las demás personas, quise identificar los pasos adicionales que tuve que realizar para instalar mi apk.

Intenté presionar el dispositivo con el siguiente resultado:

 ? adb push AppClient.TestOnly.App3.apk \tmp\ failed to copy 'AppClient.TestOnly.App3.apk' to '\tmp\': Read-only file system 

Después de mirar alrededor para cambiar los permisos RW del sistema de archivos, terminé ejecutando los siguientes comandos:

 ? adb shell 255|shell@android:/ $ su shell@android:/ # mount -o remount,rw / mount -o remount,rw / 

Lo tengo cuando intenté presionar de nuevo:

 ? adb push AppClient.TestOnly.App3.apk /tmp failed to copy 'AppClient.TestOnly.App3.apk' to '/tmp': Permission denied 

Pude presionar a la tarjeta sd:

 ? adb push AppClient.TestOnly.App3.apk /sdcard/ 3178 KB/s (99747 bytes in 0.030s) 

En ese momento pude ejecutar el comando de Saurabh:

 shell@android:/ # pm install -t /sdcard/AppClient.TestOnly.App3.apk pm install -t /sdcard/AppClient.TestOnly.App3.apk pkg: /sdcard/AppClient.TestOnly.App3.apk Success 

Mi hallazgo es el siguiente. Si compilo usando la IU de Android Studio y el archivo APK generado, no puedo

 adb install  

Failure [INSTALL_FAILED_TEST_ONLY]

Necesito comstackrlo usando el gradle, es decir, la ./gradlew app:assembleRelease . Entonces solo el apk generado, entonces solo puede ser instalado.

Esto se debe a que la comstackción de la IU de Android Studio solo genera apk de prueba para un dispositivo en particular, mientras que el ./gradlew app:assembleRelease es la generación de apk real que debe instalarse en todos los dispositivos (y subir a playstore)

Para mí, ha funcionado ejecutar la tarea de gradle ‘clean’ (en la aplicación, en el panel de Gradle, generalmente ubicado a la derecha) y ejecutar de nuevo el proyecto.

Crea tu distribución .apk desde Android Studio de la siguiente manera

Build -> Build Apk (s) (para la construcción sin firmar) Build -> Generate APK firmado (para la construcción con signo)

Esta opción crea la aplicación APK con android: testOnly = “false”, que le permite instalar el APK explícitamente en el dispositivo.

adb instala yourBuilT.apk

Lo que funcionó para mí es realizar la Refresh all Gradle projects desde la barra de herramientas de Gradle desde el menú de la derecha.

PFB, la captura de pantalla de Android Studio.

  1. Seleccione la barra de herramientas de Gradle en el menú de la derecha.
  2. Selecciona el ícono Refresh

Esto resolvió el problema para mí.

Captura de pantalla de Android Studio

Intenté proyecto externo, con apk múltiple.

El comando de Studio parecía

 adb install-multiple -r .... 

Solución –

  • seleccionar la consola
  • comando aste con -t

Como se menciona en la documentación :

Android Studio agrega automáticamente este atributo al hacer clic en Ejecutar

Por lo tanto, para poder instalar su apk con adb install , debe ensamblar la comstackción desde la terminal: ./gradlew assembleDebug e instalar con adb. O simplemente ejecute ./gradlew installDebug para comstackr e instalar en el dispositivo simultáneamente.

primero elimine la versión inestable:

adb uninstall problemmatic-package-name

; y luego reinstalar el apk.

Puedo reproducir el mismo problema en mi lado.

Supongo que está relacionado con O-preview SDK en lugar de con el plugin gradle, y creo que es la medida para evitar que los desarrolladores publiquen comstackción de aplicaciones contra SDK de vista previa.