La instalación falló debido a: 'null' - Android Studio 3.5

83

He actualizado Android Studio a 3.5, desde que me encuentro con un problema de instalación de APK. Este es el único registro que muestra:

Installation did not succeed.
The application could not be installed: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION
Installation failed due to: 'null'
Retry

Esto sucede al intentar instalar APK en un dispositivo real. Si desinstalo la aplicación del dispositivo y luego vuelvo a ejecutar la compilación, se instala solo una vez y luego sigue arrojando este error en la siguiente instalación. Funciona bien en un emulador pero no puedo usar un emulador para todo.

Lo que he probado:

  • Archivo de configuración de Android Studio eliminado.
  • Archivos Gradle eliminados del proyecto.
  • Cachés invalidados y restablecidos.
  • Limpió / reconstruyó el proyecto.
  • Busqué problemas similares Stackoverflow (nada coincide con mi problema)
  • Limpiar instalado (eliminado todos los archivos, incluidos los SDK) Android Studio 3.5

Actualizar

Instalé Linux Mint en mi máquina y probé el AS 3.5 allí, por alguna razón, todo funciona bien incluso para dispositivos Android 7 y anteriores.

Sistema operativo anterior: Windows 10 1903

Sistema operativo actual: Linux Mint 19.2

Creo que este problema puede originarse en máquinas con Windows.

Taseer
fuente
Tengo un problema similar, pero para mí es INSTALL_PARSE_FAILED_NOT_APKmientras
ejecuto
También estoy recibiendoINSTALL_PARSE_FAILED_NOT_APK
jobevers
También tengo el mismo problema.
Santhosh
14
wow Google, ¿cómo puedes hacer que este sea un lanzamiento ESTABLE ?
0101100101
¿Verificó si Instant Run está habilitado en su Android Studio?
Reaz Murshed

Respuestas:

99

Abrir configuración de ejecución / depuración cuadro de diálogo (Windows: Ejecutar> Editar configuraciones)

edite su aplicación> General> Opciones de instalación> Instalar banderas .

agregar banderas de instalación -r -t.

Esta bandera significa adb install -r -t apkpath

screen pic

胡 晟 昊
fuente
2
Esta bandera significa adb install -r -t apkpath, supongo. @ TaseerAhmad
胡 晟 昊
21
-rsignifica "reemplazar la aplicación existente". -tsignifica "permitir paquetes de prueba"
duckbrain
1
¿De dónde vino este hombre y cómo pensó en esta solución? ¡Dale una medalla!
0101100101
4
¡No funciona para mí! :( Por favor, mira mi problema. Es un poco diferente al tuyo. Stackoverflow.com/questions/57770464/…
Arsalan Shah
3
La configuración es Ejecutar> Editar configuraciones, si es la versión de Windows.
Beatrice Lin
17

Necesita deshabilitar "Usar el backend libusb" en las preferencias -> depurador ingrese la descripción de la imagen aquí

Houssin Boulla
fuente
Solo esta solución ayudó - Xubuntu 18.04
Raskilas
¡No puedo creer que esto haya funcionado! Android Studio 3.5.1 Android Debug Bridge versión 1.0.41 Versión 29.0.5-5949299
Kebab Krabby
1
Funciona a las mil maravillas. Luchado con este problema durante meses y sólo esta respuesta trabajado para mí
srisindhu saride
1
¡DIOS MIO! esto ha resuelto un gran problema. Luché con este problema durante meses también ... ¡Guau!
Vivek
1
¡Arreglado esto para mí en OSx 10.15! ¡Gracias!
Chris.Jenkins
12

Este problema en Android Studio ocurre para dispositivos inferiores a API 26(Android 8). Esto se debe al reemplazo de InstantRun, ahora conocido como ApplyChanges .

Parece ser que solo hay dos formas antes de que lo arreglen en la próxima actualización.

  1. Corre API>=26.
  2. Después de cada cambio en el código de edición de run configurationcambiar deployde APKa App bundley viceversa. Si lo entiendo correctamente, esto reconstruirá correctamente la aplicación y el error de solución.

Por supuesto, existe una opción para eliminar manualmente la aplicación del dispositivo antes de ejecutar la aplicación desde AndroidStudio.

mohax
fuente
1
Tengo un dispositivo Android 9.0 y tengo este problema. Sin embargo, cuando mezclo pruebas en ejecución entre el emulador y el dispositivo real, la aplicación y las pruebas parecen ejecutarse con bastante frecuencia. Realmente no sé por qué, pero quizás ayude a alguien.
adek111
Tal vez pueda volver a ejecutar la aplicación con éxito API26+si hace clic en Apply changes, en lugar de rerun? Este es un nuevo botón a la derecha de rerun.
mohax
6

Para mí, desinstalar la aplicación o limpiar el proyecto "resuelve" el problema. Para que sea menos frustrante, agregué un trabajo limpio para depurar el tipo de compilación de esta manera:

buildTypes {
    ...
    debug {
        clean
    }
    ...
}
Sancho
fuente
4

Después de leer las notas de la versión sobre Aplicar cambios , finalmente encontré una solución aquí: https://developer.android.com/studio/run#apply-changes-run-fallback

Habilitar ejecución alternativa para aplicar cambios

Después de hacer clic en Aplicar cambios y reiniciar la actividad o Aplicar cambios de código, Android Studio crea un nuevo APK y determina si los cambios se pueden aplicar. Si los cambios no se pueden aplicar y provocarían un error en Aplicar cambios, Android Studio le solicita que vuelva a ejecutar el icono Ejecutar su aplicación. Sin embargo, si no desea que se le pregunte cada vez que esto ocurra, puede configurar Android Studio para que vuelva a ejecutar automáticamente su aplicación cuando los cambios no se puedan aplicar.

Para habilitar este comportamiento, siga estos pasos:

  1. Abra el cuadro de diálogo Configuración o Preferencias:
    • En Windows o Linux, seleccione Archivo> Configuración en la barra de menú.
    • En macOS, seleccione Android Studio> Preferencias en la barra de menú.
  2. Vaya a Compilación, Ejecución, Implementación> Implementación .
  3. Seleccione las casillas de verificación para habilitar el respaldo de ejecución automático para cualquiera de las acciones Aplicar cambios.
  4. Haga clic en Aceptar.

Captura de pantalla que se ejecuta en Linux

M. Baja Aksha
fuente
1
He cambiado el sistema operativo a Linux y AS 3.5 funciona bien allí.
Taseer
4

Hay un problema con Lineage OS según lo indicado por el equipo de Google en https://issuetracker.google.com/issues/139782879 :

Podemos reproducirlo en un dispositivo con LineageOS. No es totalmente compatible con una llamada al sistema que usamos para DeltaInstall.

No hay una solución aparente (aparte de eliminar el APK de la carpeta de compilación o desinstalar la aplicación).

Deberíamos tener una solución, pero tal como está ahora, LineageOS no tendrá DeltaInstall y siempre necesitará realizar una instalación completa más lenta.

Cambiar a Nothingcomo lo señaló OP no implementará el APK en el dispositivo (es por eso que no se mostrará un error), por lo que no resolverá el problema.

Editar:

Esto se ha solucionado en Android Studio 3.6.

Gracias por la respuesta. Esto debería corregirse en las últimas versiones de 3.6.

Pedro Oliveira
fuente
4

Construir> Proyecto limpio, su trabajo es para mí. Antes de cambiar otra configuración, intente esto primero.

Feliz codificación :)

happy_Coding
fuente
3

Obtuve la solución en la configuración de ejecución de edición de código cambiando en Implementar, seleccione APK predeterminado e instale flag = -r -t y luego Solicite la ejecución. La aplicación se ejecutará en todos los dispositivos y emuladores. Probé en OPPO 1 plus, Samsung Tab, Emulator también .

Por favor, piense en el botón Editar Ejecutar cerca de ejecutar en Android Studio

editar aplicación> general ==> opciones de instalación ==> Instalar banderas

agregar banderas de instalación -r -t

-r significa "reemplazar la aplicación existente". -t significa "permitir paquetes de prueba"

ingrese la descripción de la imagen aquí

Suyog Dorlikar
fuente
2

Yo también tengo el mismo problema después de actualizar a 3.5. Me preguntaba si ha tenido suerte al hacer que 'Ejecutar' funcione con un dispositivo conectado.

ACTUALIZACIÓN: debía hacer que esto funcionara configurando "APK del paquete de aplicaciones" en Opciones de instalación en el cuadro de diálogo "Configuraciones de ejecución / depuración"

Chooven
fuente
1

Eliminar / desinstalar la aplicación del dispositivo solucionó el problema.

Alex Sag
fuente
Desinstalé la aplicación del emulador API 29 y me ayudó.
CoolMind
1

Agregue una dependencia de tarea de Gradle " limpia " antes de instalar / ejecutar sus apks usando la siguiente configuración.

project.afterEvaluate {
    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def capitalizedVariant = variant.name.capitalize()
            def assembleVariantTask = project.tasks."assemble${capitalizedVariant}"
            assembleVariantTask.dependsOn clean
        }
    }
}

Copie y pegue el código anterior en su app/build.gradlearchivo, esto funciona para todas las variantes de compilación.

Específicamente, el código anterior será equivalente al siguiente si solo tiene tipos de compilación de depuración y lanzamiento:

assembleDebug.dependsOn clean
assembleRelease.dependsOn clean
shizhen
fuente
1

Lo que funcionó para mí para eliminar la aplicación anterior y luego volver a ejecutar el proyecto. En ese caso, el certificado de signo antiguo no molesta.

Azamat Mahkamov
fuente
1

También recibí este error cuando ejecuté la aplicación en un xiaomi pocophone 1 real y resolví este problema ejecutando la aplicación primero en el emulador y luego en mi xiaomi pocophone 1

ch13mob
fuente
1
splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a','x86_64'
        universalApk true
    }
}

Debido a las diferentes construcciones como 'armeabi', 'x86', 'armeabi-v7a', 'x86_64' y 'arm64-v8a', tenemos que agregar la configuración anterior en el archivo build.gradle.

usuario9973657
fuente
0

Por fin encontré la solución

simplemente establezca v2SigningEnabled verdadero

 signingConfigs {
    release {
        v2SigningEnabled true
    }
}
yefeng
fuente
0

Yo mismo no enfrenté el problema. Sin embargo, anteriormente tuvimos algunos problemas con Instant Run de Android Studio. Me gustaría sugerir que verifique las siguientes configuraciones en su Android Studio y desmarque la configuración para verificar si su código funciona ahora.

Vaya a Android Studio -> Preferencey luego desmarque lo siguiente debajo de Deployments.

ingrese la descripción de la imagen aquí

Esto es lo que hay de nuevo en Android Studio 3.5 con respecto a esto que lo ayudará a comprender mejor la función.

ingrese la descripción de la imagen aquí

Reaz Murió
fuente
0

Intente ejecutar el comando "adb devices", si la salida está vacía, vuelva a conectar el dispositivo. Esto me ayudó con el mismo error. Android studio 3.5 no determina que el dispositivo se haya desconectado.

Boris Timofeev
fuente
0

Desinstalé la aplicación del emulador, ejecuté y todo volvió a la normalidad

Woz
fuente
0

Para mí minSdkVer = 22, tarSdkVer = 28, ejecutar Gradle -> app -> Tasks -> build -> clean && cleanBuildCacheacción, problema resuelto.

Shanksiscool
fuente
0

Presioné el icono de martillo para reconstruir la aplicación y luego se instaló. ¿Entonces no lo sé? Toda la plataforma de trabajo de pirateo de Android apesta.

Todo ese dinero todavía Google no puede contratar o encontrar programadores lo suficientemente buenos como para crear su propio sistema operativo.

dcarl661
fuente
0

También enfrenté el mismo problema, seguí los siguientes pasos 1) Proyecto limpio 2) Proyecto reconstruido

Esto resolvió mi problema

Vivek
fuente
0

En mi caso, no puedo resolver con todas las respuestas anteriores para encontrar otra manera. Finalmente encontré la solución. Simplemente encuentre los controladores correctos del teléfono. Mi teléfono de desarrollo es Samsung Galaxy Note 2 (MODELO: GT-N7105 / Android 4.1.2) . Solo comparto mi solución sobre cómo lo resolví. Espero ahorrar su tiempo.

BM
fuente
0

El problema ocurre cuando está probando un módulo nuevo. Primero, lo escribe individualmente y luego lo agrega a la aplicación principal. Cuando lo agregue a la aplicación principal, elimine su "test_app" de su teléfono.

Станислав Гордеев
fuente
0

Ejecutar -> Editar configuración -> instalar banderas: -r -t -> Aplicar -> Aceptar

Savita Sharma
fuente
0

En mi caso, solo funciona deshabilitando la verificación de la firma del APK:

$ adb shell settings put global verifier_verify_adb_installs 0

Y usando las -r -tbanderas mencionadas anteriormente

Gallardo
fuente
0

Todavía tengo un error en mi Mac OS, cuando obtengo un nuevo dispositivo real e intento instalar apk desde Android Studio 3.5, y encuentro una forma fea de cómo se soluciona, abra la terminal en Studio y siga:

cd app/build/outputs/apk/debug
adb install -r -t your_app_name.apk

¡¡Y tiene que ver con cada proyecto y cada dispositivo !!

Editado:

Eventualmente instalé

Android Studio 3.6 Canary

  • es una versión más funcional que la 3.5

Pero todavía es necesario agregar a las banderas de instalación -r -t

nicolas asinovich
fuente
Tenemos que esperar una versión 3.6 'estable'.
Taseer
0

Tuve este problema hace unos minutos cuando intenté ejecutar mi aplicación en un dispositivo real y detuve la compilación de Gradle antes de que terminara. Lo que acabo de hacer fue desinstalar la aplicación en el dispositivo y volver a ejecutar la aplicación tanto en AVD como en el dispositivo real (simultáneamente) y funcionó. Espero que esto funcione para usted también

Richierich
fuente
0

Solución principal

  1. Archivo -> Configuración -> Compilación, ejecución, implementación -> Depurador > DeshabilitarUse libusb backend

  2. Gradle (Flap a la derecha del IDE) -> android -> app -> Tasks -> install -> uninstallAll o también puedes hacerlo por consola de la siguiente manera:

    $ ./gradlew uninstallAll



Otros consejos:

  • Elimine y cree la aplicación nuevamente en Ejecutar / Depurar configuración

    • Opciones de instalación -> Comprobar instalación para todos los usuarios
  • Configuración de ejecución / depuración -> Opciones de lanzamiento> Lanzamiento: Actividad especificada> Elija una actividad

  • Instale la aplicación usando otro dispositivo físico, versión del IDE o PC

  • Reinstale IDE y elimine .android

  • Vuelva a intentarlo con la solución principal


Si desea instalar y abrir la aplicación, puede usar adb con los siguientes comandos:

$ adb install -r -t absolute-path.apk

$ adb shell am start -n "com.package.flavor.env/.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

GL

Fuente

Coronel braian
fuente
-1

intenta cambiar android: appComponentFactory=""a android:appComponentFactory="new", "new"puede ser cualquier palabra

sh_ZJ
fuente
-2

Finalmente, obtuve la solución en la configuración de ejecución de edición de código cambiando en la opción de instalación DESPLEGAR -> desde seleccionar la cuarta opción -> opción (Nada) -> Aplicar Y la aplicación funciona correctamente en Android Studio 3.5. En móvil y emulador también. Esto también funciona correctamente en la versión 9 de Android. Esta es una solución permanente.

Suyog Dorlikar
fuente