Error 'Aplicación no instalada' en Android


425

Tengo un programa trabajando en el emulador de Android. De vez en cuando he estado creando un .apk firmado y exportándolo a mi HTC Desire para probarlo. Todo ha estado bien.

En mi último .apk exportado recibo el mensaje de error 'Aplicación no instalada' cuando intento instalar el .apk. Funciona bien en los emuladores.

Como he estado probando principalmente en los emuladores y solo de vez en cuando exportando a un teléfono real, no estoy seguro de cuándo sucedió esto. ¿Cuál es la causa probable de que no se instale en un teléfono físico sino que funcione bien en los emuladores?

He intentado reiniciar el teléfono y eliminar el .apk existente, no soluciona la falla.


55
Cuando dice que ha eliminado el .apk existente, ¿quiere decir que desinstaló la aplicación del teléfono? De lo contrario, desinstale la aplicación antes de intentar instalarla nuevamente.
Telmo Marques

99
Lo que TomS dijo, corre adb uninstall your.package.namey luego adb install /path/to.apk. No veo por qué eso no funcionaría. ¿Ha cambiado algo en el procedimiento de firma?
Felix

2
¿Has intentado depurarlo directamente desde eclipse en el dispositivo conectado a la computadora para ver si el registro dice algo más?
Javi

1
Eliminé la aplicación usando la opción de desinstalación del administrador de aplicaciones en el teléfono.
Entropía1024

Felix ¿Desde dónde ejecuto esta cosa adb?
Entropía1024

Respuestas:


265

Principalmente para teléfonos viejos

Solo encontré el App not installederror al intentar instalar un apk en mi teléfono que se ejecuta en 4.4.2 aka KitKat, pero mi amigo no encontró este error en su teléfono que funciona en 6+. Probé las otras soluciones, como eliminar la versión anterior / de depuración de la aplicación porque el apk era una versión de lanzamiento, borrando los datos de la aplicación de depuración e incluso borrando todos mis datos almacenados en caché. Luego, finalmente me di cuenta de que todo lo que tenía que hacer era seleccionar ambas versiones de firma al construir mi apk firmado.

ingrese la descripción de la imagen aquí

Antes solo había V2 (Full APK Signature)seleccionado, pero después de seleccionar V1 Jar Signaturetambién, pude instalar con éxito mi APK firmado en mi dispositivo 4.4.2. Espero que esto ayude a otros!


66
¡Tenga en cuenta esta solución cuando tenga un teléfono antiguo! Tengo un Galaxy S4 mini con Android 4.4.2 y olvidé verificar la "firma V1" para que no se pueda instalar en el dispositivo. Después de marcar, el apk se instala como un encanto.
Jose Ramon Garcia

1
@JoseRamonGarcia Lo curioso es que tengo exactamente el mismo teléfono y la misma versión de Android ¡jaja! Me alegro de que te haya funcionado
Chris Gong

1
¡Gracias! Android Studio debería brindar más información sobre esto al firmar la aplicación, o hacer que sea más obvio lo que hace cuando no se marcaV1 (Jar Signature)
melledijkstra

En mi caso, tengo que agregar esta configuración en el archivo de manifiesto android: installLocation = "internalOnly"
avinash kumar

1
Originalmente firmé con v2 cuando me encontré con el problema. Luego firmé solo con v1 y luego funcionó. Estoy ejecutando sdk23 en mi teléfono.
Ámbar

206

Para mí, en Android 9 (API 28), deshabilitar Google Play Protect de la aplicación Play Store funcionó, y pude deshacerme del App not Installederror.

Para deshabilitar Google Play Protect. Abra la aplicación "Play Store" => toque el botón Menú => seleccione la opción "Play Protect" => Desactive las opciones "Analizar el dispositivo en busca de amenazas de seguridad".


44
a pesar de que cuando intenté instalar mi aplicación por primera vez, Play Protection me indicó que no podía verificar que la aplicación fuera segura, y presioné "instalar de todos modos", la aplicación aún no se instalaba. esta anulación funcionó
user2565663

No tengo Play Store en el emulador de Android (API 28).
Jerry Dodge

3
También el caso en Android 8 (solo para completar la brecha reportada entre 7 y 9).
cleardemon

3
Esto funciona bien No olvides revertir la configuración una vez instalada la apk.
Rahamath

Muchas gracias, problemas resueltos en mi Xiaomi Redmi 5 Plus
Nicola Gallazzi

150

Tuve un problema similar y fue porque estaba tratando de instalar una apk en un teléfono con una versión anterior de la misma apk, y ambas aplicaciones no habían sido firmadas con el mismo certificado. Quiero decir que cuando utilicé el mismo certificado pude sobrescribir la instalación anterior, pero cuando cambié el certificado entre versiones, la instalación no fue posible. ¿Estás usando el mismo certificado?


99
Sí, es el mismo certificado. Creo que tuve eso una vez antes. He intentado eliminar la aplicación existente en el teléfono y también he intentado instalar una versión sin firmar. Todavía recibo el mismo mensaje de error.
Entropía1024

2
También tuve el mismo problema para eso (versión anterior con otro certificado): para ser específicos, lo instalé implícitamente para usar el depurador. Revmoving lo resolvió (no es su caso, como se ve a continuación, pero vale la pena registrarse aquí)
chesterbr

11
Esta publicación tiene más de 30 respuestas. Lo que recomiendo es que, cuando enfrente este problema, observe los registros del dispositivo mientras instala la aplicación. use adb logcat. Conocerá la causa exacta de la falla de instalación. el registro de mi problema es "Las firmas del paquete companypany.appname no coinciden con la versión instalada previamente; ¡ignorando!"
Manikandan

Cambié el nombre del paquete. Y funcionó. Me di cuenta de que había probado varias aplicaciones con el mismo nombre de paquete, así que el error.
user30478

120

Claramente, hay muchas causas de este problema. Para mí, la situación era esta: me había implementado en mi nexus 7 (dispositivo real) desde Android Studio (v1.3.2). Todo funcionó bien. Luego creé un apk firmado y lo subí a mi Google Drive. Después de desconectar mi nexus del usb, fui a la configuración / aplicaciones y desinstalé mi aplicación (App1). Luego abrí google drive e hice clic en mi App1.apk y elegí instalarlo (necesito asegurarme de que has permitido la instalación de apks en la configuración). Luego recibí el temido mensaje "Aplicación no instalada"

Solución para mí: regrese a la configuración / aplicaciones y desplácese por todas las aplicaciones y en la parte inferior había una versión pálida de mi App1 (tenga en cuenta que la App1 original estaba en la parte superior en orden alfabético que se eliminó como se indicó anteriormente). Al hacer clic en la versión pálida decía "No está instalado para este usuario". (Había configurado mi nexus para tener más de un usuario). Pero en la esquina superior derecha hay un botón de tres puntos . Presioné esto y decía "Desinstalar para todos los usuarios" . Lo cual hice y solucionó el problema. Ahora pude hacer clic en App1.apk y se instaló bien sin el error.


1
Sí, he tenido varias razones, y esta fue una de ellas. ¡Gracias!
Alvéolos

1
tiene el mismo problema Tenía una cuenta de invitado activada y al eliminar la aplicación, no se eliminó de todos los usuarios.
Filip Luchianenco

2
Eso fue realmente útil, e instalé-desinstalé mi aplicación unas 20 veces antes de encontrar esto. ¡Muchas gracias! :-)
Rahul Arora

3
Si solo StackOverflow nos permitiera votar más de una vez. Esta solución me ayudó hace casi un año. Voté y rápidamente lo olvidé. Tuve el mismo problema hoy y me ayudó de nuevo. Traté de votar y StackOverflow dijo que ya lo había hecho. Oh bien.
Glenn

2
Gracias. También me encontré con este problema. No es absolutamente obvio, la primera vez, que desinstalar la aplicación solo lo hace para el usuario activo actual. Para evitar entrar en la configuración cada vez, utilizo el comando adb uninstall your.package.nameque desinstala para todos los usuarios.
Xavier

61

Me enfrenté al problema cuando actualicé mi Android de 2.3.2 a 3.0.1. Si este es el caso, el IDE considerará automáticamente los siguientes puntos.

1. No puede instalar una aplicación con Android: testOnly = "true" por medios convencionales, como desde un administrador de archivos de Android o desde una descarga desde un sitio web

2.Android Studio establece android: testOnly = "true" en los APK que se ejecutan desde

si ejecuta su aplicación directamente conectando el dispositivo a su sistema, apk se instalará y ejecutará sin problemas.

si envió este apk por copia desde la carpeta de compilación, colocación y depuración, nunca se instalará en el dispositivo.

Solución : vaya a Build ---> Build APK (s) ---> copie el archivo apk compartido a su equipo

entonces tu problema se resolverá.


1
¡Salvaste mi trabajo! ¡Gracias!
img.simone

1
Oh Dios, me tomó 3 horas ..
cuddlemeister

¡Funciona! ¡Gracias!
Peter

1
Esto, esto, esto es la respuesta para mí. Tan molesto que esta cosa simple no se notó más claramente en el programa ni a través de ningún mensaje de error en el dispositivo. ¡gracias hombre!
LFMekz

29

Me enfrenté al mismo problema. El problema era que la actividad principal en mi archivo AndroidManifest.xml se escribió dos veces. Eliminé el duplicado.


¡Gracias por la pista! En mi caso android:exportedse establece en false para el iniciador de actividades
ildar ishalin

21

Esto puede suceder si tiene su MainActivity declarada dos veces en su AndroidManifest.xml.

Otra posible razón: cambiaste la actividad de lanzamiento. Sugerencia: ¡nunca lo hagas con aplicaciones ya publicadas! Razones discutidas en el blog de desarrolladores de Android .


44
1 android:nameatributo de cualquier Activity, Service, BroadcastReceivery así sucesivamente no se puede cambiar en el archivo de manifiesto. Aunque parece ser el identificador privado dentro de su aplicación, es una API pública.
caw

Tengo que cambiar mi actividad de inicio. Agregué una pantalla de bienvenida y dentro de ella tengo que descargar los canales antes de comenzar la actividad principal. ¿Tiene una solución para esto que no sea poner la pantalla de bienvenida dentro de la actividad principal?
Chris Sim

2
¡Puedes usar una etiqueta <activity-alias> para manejar eso!
thiagolr


14

Tuve el mismo problema y así es como lo resolvió: vaya al archivo Manifiesto y asegúrese de tener los atributos "Debuggable" y "Test Only" en false. Funcionó para mí :)


2
¡No estoy seguro de lo que quieres decir con 'Solo prueba', pero configurar depurable en verdadero y firmar el apk funcionó para mí!
ingh.am

No funcionó para mí. Yo solía:android:testOnly="false" android:debuggable="false"
Francisco Corrales Morales

¿Podrías explicar? No tengo ninguno de los atributos, no establecer verdadero y no falso, simplemente no existe. ¿Cómo se ve la línea?
pashute

14

Para aquellos que usan Android Studio 3.

La respuesta de Suryanarayana Reddy es correcta, por lo tanto, no indica los pasos para resolverla.

en su AndroidManifest.xml debajo de la etiqueta de aplicación, agregue testOnly="false" y android:debuggable="true"haga lo siguiente:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    android:testOnly="false"
    android:debuggable="true"
    >

Edite
luego en la barra de menú de AndroidStudio Build> Build APK (s)


¡Gracias! android:debuggable="true"conduce a Error: Avoid hardcoding the debug mode; leaving it out allows debug and release builds to automatically assign one [HardcodedDebugMode]. He intentado android:testOnly="false", tanto Build > Build Bundl(s) / APK(s) > Build APK(s)y Build > Generate SignedBundle APK...con versiones de firmas v1, v2 (como en la imagen superior). Tuve que eliminar la aplicación anterior antes, luego instalar una nueva.
CoolMind

Recientemente encontré este problema. Acabo de agregar android: testOnly = "false" y Build -> Build Apks y listo. Todo ordenado. ¡Gracias! No es necesario agregar ninguna otra propiedad de Android como android: debuggable = "true".
androidStud

12

Sé que esta es una publicación antigua, pero para los nuevos usuarios puede ser útil. Tuve el mismo problema: mi aplicación funcionó bien durante la depuración. Cuando firmé el APK recibí el mismo mensaje: "Aplicación no instalada".

Arreglé que desinstaló mi JDK (estaba usando jdk-6u14-windows-x64) e instalé uno nuevo (jdk-6u29-windows-x64). Después de exportar y firmar el APK nuevamente, ¡todo estuvo bien!

Resumiendo, mi problema estaba en la versión JAVA. Gracias Oracle!


Esto lo arregló para mí ... más información stackoverflow.com/questions/6282169/…
Greg Ennis

2
Eso es increíblemente extraño. ¿Era esto para un emulador o dispositivo?
Joe Plante

12

Mi problema fue que tengo varias cuentas de usuario en el dispositivo. Eliminé la aplicación en 1 cuenta, pero aún estaba instalada en la otra cuenta. Por lo tanto, el espacio de nombres colisionó y no se instaló. Desinstalar la aplicación de todos los usuarios lo arregló para mí.


2
Desde el Administrador de aplicaciones, seleccione la aplicación (que aparecerá pero aparecerá como desinstalada), seleccione Más y aparecerá la opción Desinstalar para todos los usuarios.
Casey Murray

9

Mi problema fue: utilicé la aplicación de depuración, que se generó mientras ejecutaba el comando Ejecutar desde Android Studio

La solución fue: en lugar de usar este archivo, limpie el proyecto y haga clic en Compilar> Compilar APK (s) desde Android Studio. Luego puede usar el APK generado desde la carpeta habitual (app / build / salidas / apk / debug /)

El archivo que se generó así se instaló sin problemas.


7

Si la aplicación no se instala, elimine el archivo .android_secure/smdl2tmpl.asecde la tarjeta SD.

Si la carpeta .android_secureestá vacía en el administrador de archivos, elimínela de la PC.


5

Al final descubrí que no se estaban instalando aplicaciones con éxito, no solo la mía. Configuré la aplicación Instalar predeterminada de la tarjeta SD en Automático. Eso lo arregló.


1
¿Cómo haces esto? No encuentro esta opción en mi dispositivo
SoulRayder

Huawei P8 Lite, Android 6.0, solo tiene: Avanzado / Memoria y almacenamiento / ubicación predeterminada: interno / Tarjeta SD No ayudó.
kaay

5

Si tiene una versión anterior para esa aplicación, intente borrarla primero, ahora mi problema se resolvió con ese método.


5

También he resuelto este problema,

El problema fue que declaró mi actividad principal dos veces, Encendido como la primera actividad que se cargó y especifiqué también un filtro de intención para él. Y una vez más debajo de eso lo volví a declarar.

Solo asegúrate de no declarar tus actividades dos veces.


SI declara su actividad dos veces en el Manifest.xmlarchivo, se mostrará un error de compilación a menos que tenga las mismas actividades con el mismo nombre pero en diferentes paquetes, PERO esto no funciona conmigo, ya que verifiqué todo.
blueware

5

crear archivo de almacén de claves a través de la línea de comando

keytool -genkey -alias key_file_name.keystore -keyalg RSA -validity 1000000000000000 -keystore key_file_name.keystore

exporte apk a través de Eclipse, haga clic derecho en el proyecto de Android Herramientas de Android> Exportar paquete de aplicaciones firmadas , luego proporcione la ubicación y la contraseña del almacén de claves.

Esto creará una apk firmada al mismo tiempo que la apk estará activada. E instalable.

Si pasa por la línea de comando para todos, algunas veces puede enfrentar el error "Aplicación no instalada". (El error de aplicación no instalada puede ocurrir no solo cuando se usa la línea de comando. También puede ser por otras razones)


4

Tuve el mismo problema, es decir, la aplicación apareció como instalada, pero no se inició cuando se tocó el ícono. Después de algunos golpes en la cabeza, descubrí que había colocado estúpidamente 'android: exported = "false"' para mi actividad de iniciador principal dentro del archivo AndroidManifest ... Una vez que lo eliminé, la aplicación se lanzó bien ...


4

Mi problema fue similar al de @Lunatikzx. Debido a una etiqueta de permiso incorrecta que se escribió como atributo de la aplicación:

<application
    android:permission="android.permission.WRITE_EXTERNAL_STORAGE"
    android:label="@string/app_name"
    android:icon="@drawable/ic_launcher"
    android:testOnly="false"
    android:debuggable="true">

Lo que me solucionó fue cambiar la etiqueta de permiso para separar la etiqueta de esta manera:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

4

La carga lateral de aplicaciones de depuración para probar en un teléfono físico funcionó de manera confiable hasta que actualicé el teléfono de Android Pie a Android 10. Después de eso, el error "Aplicación no instalada" aparecía cada vez que intentaba cargar la aplicación.

Basado en una advertencia en mi AndroidManifest.xml, cambié de ...

<application
    android:name=".App"
    android:allowBackup="true" ... />

a...

<application
    android:name=".App"
    android:allowBackup="false" ... />

Después de eso, pude descargar mi aplicación una vez. Entonces, encontré el mismo error "Aplicación no instalada" nuevamente. Al allowBackupvolver a cambiar a true, funcionó nuevamente (al menos una vez).

Es obvio por el número de respuestas y la variación en las respuestas que hay muchas razones para este problema. Estoy compartiendo esto en caso de que ayude a otros.


Sólo traté de ajuste android:allowBackup="true"a android:allowBackup="false"y sigue sin suerte.
KRK

3

Consulte con la versión de Android.

Si está instalando aplicaciones que no son de mercado y una versión incompatible, recibirá este error.

Ej: Aplicación dirigida a 2.3.4. Su dispositivo es 2.2. Entonces obtendrá este error.


¿Dónde en los archivos de configuración de Gradle veo la versión de destino de Android? No lo veo build.gradleni en el archivo de manifiesto de Android. A menos que compileSdkVersion(valor 23) o minSdkVersion(16) o targetSdkVersion(22) apunten de alguna manera al ajuste deseado. Mi galaxy está ejecutando Android 7.0 (y solicita una actualización, pero todavía no lo permito). No estoy usando Android Studio para construir mi aplicación reaccionar nativo, sino más biengradlew assembleRelease
pashute

3

El error "Aplicación no instalada" también puede ocurrir si la aplicación se ha instalado o movido a la tarjeta SD, y luego se ha conectado el cable USB, lo que hace que la tarjeta SD se desmonte.

Desactivar el almacenamiento USB o mover la aplicación nuevamente al almacenamiento interno solucionaría el problema en este caso.


3

También me encontré con este problema. Intenta amablemente esta solución. Asegúrese de que el nombre del paquete de su proyecto sea diferente del proyecto anterior que ya estaba instalado en su teléfono móvil. Creo que tienen conflictos en sus nombres. Funciona en mi


2
Eso funcionará, pero no es la mejor solución, ya que terminarás con millones de aplicaciones instaladas. Vea algunas de las otras respuestas anteriores.
Astra Bear

3

También puede encontrar este problema porque el fabricante de su dispositivo no autorizó las aplicaciones comerciales de Google, como Play Store, YouTube, Google Maps, etc. Siga esta respuesta para resolver el problema.


3

Aparentemente, esto también puede ser causado al renombrar el APK antes de instalarlo. Quería reducir la cantidad de mecanografía que los usuarios tenían que hacer para obtener la aplicación de nuestro sitio web acortando el nombre del archivo. Después de eso, no pudieron instalarlo.

Una vez que volví al nombre de archivo original utilizado al crear y firmar el paquete, pude actualizar la aplicación instalada.


Creo que durante la primera vez que instalé cambié el nombre. Ahora el predeterminado (app_release.apk) no se instala. Quizás intente cambiarlo ... hmmm.
pashute

3

Usando Android Studio, había instalado previamente la versión de depuración sin firmar del APK ( Build> Build APK ) y tuve que desinstalarlo antes de instalar la versión de lanzamiento firmada ( Build Variants> Build Variant: release , Build> Generate Signed APK ).


1
Acabo de perder dos horas en el mismo problema. Mi aplicación muestra la versión, por ejemplo. "3.5.6", pero no muestra si se trata de una versión de depuración o de lanzamiento. He estado jugando con muchos archivos diferentes y perdí la noción de dónde estaba, e intenté actualizar un apk de depuración con un apk de lanzamiento. Creo que Android solía mostrar un mensaje como "firmas de archivos en conflicto", pero ahora (Pie, 9.0) solo obtienes "Aplicación no instalada", sin opción para encontrar la razón. ¡Una dolorosa lección!
Stephen Hosking

3

para mí, la causa fue que tuve varias compilaciones usando diferentes variantes de compilación en el mismo teléfono:

ingrese la descripción de la imagen aquí

lo que sucedió fue que algunas de estas construcciones fueron construidas por , otro desarrollador me lo envió otro. Intenté instalar los desarrolladores mientras tenía otras compilaciones (construidas por mí) causó el error anterior.

así que la solución fue simple: eliminar todas las compilaciones en mi teléfono (independientemente de la variante de compilación) ... luego instalar el apk enviado por mi compañero ... y funcionó de maravilla


Tuve el mismo problema, supongo que la solución es siempre firmar compilaciones cuando se usan sabores
Nickmccomb

3

Hoy enfrenté un problema similar y al principio pensé que era mi tarjeta SD la que la corrompía. Lo probé en muchos dispositivos con Android 4.4 y versiones posteriores, pero seguía apareciendo el mismo problema. Después de buscar en Google e investigar, me di cuenta de que no había seleccionado el firma v1 jar que es para dispositivos más antiguos que Android 7.0 turrón, así que apliqué ambos estas firmas seleccionando las dos casillas de verificación y generó un apk firmado y funcionó.

ingrese la descripción de la imagen aquí

Enlace a la solución Android: error de aplicación no instalada al instalar un APK firmado - Cómo solucionarlo


Esto me ayudó para un dispositivo que ejecuta Android 6
Stefan Zhelyazkov

Me alegra que esta respuesta te haya ayudado a resolver el problema. @ StefanZhelyazkov
Nelson Katale

2

Esto también puede ocurrir al crear un widget de pantalla de inicio, y su archivo XML de widget tiene una Actividad incorrecta especificada en su android:configurepropiedad.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.