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.
fuente
INSTALL_PARSE_FAILED_NOT_APK
mientrasINSTALL_PARSE_FAILED_NOT_APK
Respuestas:
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
fuente
adb install -r -t apkpath
, supongo. @ TaseerAhmad-r
significa "reemplazar la aplicación existente".-t
significa "permitir paquetes de prueba"Necesita deshabilitar "Usar el backend libusb" en las preferencias -> depurador
fuente
Este problema en Android Studio ocurre para dispositivos inferiores a
API 26
(Android 8). Esto se debe al reemplazo deInstantRun
, ahora conocido como ApplyChanges .Parece ser que solo hay dos formas antes de que lo arreglen en la próxima actualización.
API>=26
.run configuration
cambiardeploy
deAPK
aApp bundle
y 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.
fuente
API26+
si hace clic enApply changes
, en lugar dererun
? Este es un nuevo botón a la derecha dererun
.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 } ... }
fuente
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
fuente
Hay un problema con Lineage OS según lo indicado por el equipo de Google en https://issuetracker.google.com/issues/139782879 :
No hay una solución aparente (aparte de eliminar el APK de la carpeta de compilación o desinstalar la aplicación).
Cambiar a
Nothing
como 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.
fuente
Construir> Proyecto limpio, su trabajo es para mí. Antes de cambiar otra configuración, intente esto primero.
Feliz codificación :)
fuente
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"
fuente
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"
fuente
Eliminar / desinstalar la aplicación del dispositivo solucionó el problema.
fuente
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.gradle
archivo, 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
fuente
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.
fuente
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
fuente
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.
fuente
Por fin encontré la solución
simplemente establezca v2SigningEnabled verdadero
signingConfigs { release { v2SigningEnabled true } }
fuente
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 -> Preference
y luego desmarque lo siguiente debajo deDeployments
.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.
fuente
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.
fuente
Desinstalé la aplicación del emulador, ejecuté y todo volvió a la normalidad
fuente
Para mí
minSdkVer = 22, tarSdkVer = 28
, ejecutarGradle -> app -> Tasks -> build -> clean && cleanBuildCache
acción, problema resuelto.fuente
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.
fuente
También enfrenté el mismo problema, seguí los siguientes pasos 1) Proyecto limpio 2) Proyecto reconstruido
Esto resolvió mi problema
fuente
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.
fuente
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
Ejecutar -> Editar configuración -> instalar banderas: -r -t -> Aplicar -> Aceptar
fuente
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 -t
banderas mencionadas anteriormentefuente
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é
Pero todavía es necesario agregar a las banderas de instalación
-r -t
fuente
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
fuente
Solución principal
Archivo -> Configuración -> Compilación, ejecución, implementación -> Depurador > Deshabilitar
Use libusb backend
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
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
fuente
intenta cambiar android:
appComponentFactory=""
aandroid:appComponentFactory="new"
,"new"
puede ser cualquier palabrafuente
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.
fuente