via sideload rlc path_to_apk android install apk adb

sideload - android install via adb



La instalaciĆ³n de ADB falla con INSTALL_FAILED_TEST_ONLY (23)

Tengo problemas para instalar un apk en mi dispositivo.

adb install <.apk>

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?


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


Android studio 3.0 genera prueba solo APK.

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

<application ..... android:testOnly="false" android:theme="@style/AppTheme">

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


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


Como se menciona en la documentation :

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

Por lo tanto, para poder instalar su apk con adb install <path to apk file> , debe ensamblar la compilación desde la terminal: ./gradlew assembleDebug e instalar con adb. O simplemente ejecute ./gradlew installDebug para compilar e instalar en el dispositivo simultáneamente.


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


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

android.injected.testOnly=false

al archivo gradle.properties


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.


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


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


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

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.


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


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

adb install <xxx.apk>

Failure [INSTALL_FAILED_TEST_ONLY]

Necesito compilarlo 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 compilació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)


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.


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.


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


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 compilación de aplicaciones contra SDK de vista previa.


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


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


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


agregue esta línea a su ''gradle.properties''

android.injected.testOnly=false


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


primero elimine la versión inestable:

adb uninstall problemmatic-package-name

; y luego reinstalar el apk.