No se puede instalar el apk firmado en el dispositivo manualmente, aparece el error "Aplicación no instalada"

107

Me gustaría publicar mi aplicación en GooglePlay, pero primero me gustaría hacer una última prueba con el apk firmado para asegurarme de que todas las claves de API utilizadas funcionan correctamente con la versión de lanzamiento (GMaps, Facebook, etc.)

Así que acabo de hacer una versión firmada de mi aplicación con nuestra clave de lanzamiento y cuando intento instalar la aplicación en el dispositivo, aparece un error:

ingrese la descripción de la imagen aquí

Intenté copiar el apk en el dispositivo e instalarlo con una aplicación de instalación de apk.

Lo extraño es que cuando hago el mismo proceso con la clave de firma de depuración, todo está bien, puedo instalar y ejecutar la aplicación.

Estos son los pasos del procedimiento:

Selecciono la clave de liberación , escribo contraseña.

Estos son los pasos del procedimiento:

Hago seleccione el tipo de construcción de la release en lugar de depuración

Selecciono el tipo de compilación de lanzamiento en lugar de depurar

En caso de que también haya definido en el archivo gradle las claves de firma, pero debo admitir que no sé si es necesario.

En caso de que también haya definido en el archivo gradle las claves de firma, pero debo admitir que no sé si es necesario.

Intenté como 7 siete veces, así que supongo que este problema no es solo una contraseña mal escrita , también puedo hacer que esto funcione con la clave de firma de Android de depuración estándar.

Por favor ayuda si puedes.

Adam Varhegyi
fuente
1
Salam. Esta respuesta puede resolver su problema: http://stackoverflow.com/a/42745459/1676736
Sayed Abolfazl Fatemi
Estoy enfrentando el mismo problema. ¿Cuál fue la verdadera razón? ¿Lo averiguaste? @Adam Varhegyi
Rohit Singh
@RohitSingh La respuesta a continuación, lol.
Adam Varhegyi
Quiero decir que la aplicación no se desinstaló por completo, incluso si la desinstalaste. O es algo que solo es Android 5.0 (o incluso superior).
Rohit Singh
1
@RohitSingh Mi problema fue exactamente como lo describe la respuesta. La aplicación se instaló para otro usuario en el teléfono y no la vi con un usuario diferente. Así que tuve que desinstalarlo para "Todos los usuarios"
Adam Varhegyi

Respuestas:

81

Es posible que esté utilizando el dispositivo Android 5.0 o superior.

Simplemente vaya a Configuración -> Aplicaciones -> Haga clic en su aplicación. ---> En la página de información de la aplicación en el menú de la barra de acciones, habrá una opción llamada "Desinstalar para todos los usuarios", haga clic en ella. Su aplicación se desinstalará por completo y ahora puede intentar instalar la nueva versión sin problemas. Espero que esto te ayudará

Verifique mi solución desde el siguiente enlace.

Enlace 1

Espero que te ayude.

Ragu Swaminathan
fuente
¿Cómo diablos podían hacer esto de esa manera? Trabajando por cierto gracias.
Adam Varhegyi
2
Si bien este enlace puede responder a la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden dejar de ser válidas si cambia la página enlazada.
SOFe
Hombre, muchas gracias, este error me tomó una semana entenderlo
Diego Vinícius
¡¡Me alegro de ayudarte !! @ DiegoVinícius
Ragu Swaminathan
66

Para los Updated Android Studio 2.3usuarios actuales , esta respuesta es para usted, ya que casi nadie usa eclipse hoy en día para el desarrollo de Android, ya que Android Studio tiene grandes avances.

Entonces, siga esta forma para crear su Signed apkarchivo.

  1. Build> Generar Signed apk.
  2. Crear Keystore path.
  3. Pon Password, alias, key password.
  4. Build typeseleccione en consecuencia (por ejemplo, para lanzar en el uso de Play Store release).
  5. Signature Versionseleccione ambas casillas de verificación V1y V2.
  6. Finsih.
  7. Vaya a desde explorerdonde seleccionó para almacenar el apk y verá el .apknombre de su archivo como app-release.apkusarlo.
Crime_Master_GoGo
fuente
14
Seleccionar la firma V1 lo hizo
Meanman
Me
ahorraste
Trabaja para mi. Ahorrar tiempo . Gracias
YeeKhin
5
¡Verificar ambos V1y V2fue la solución!
Alex Jolig
1
Verificar V1 resolvió el problema por mí. Anteriormente, solo se verificaba V2.
BluJ IT
51

la selección de Signature Version v1 y v2 resolvió el problema para mí ... pruébaloingrese la descripción de la imagen aquí

Shubhamhackz
fuente
4
Este era mi problema exactamente. la pregunta sigue siendo ¿por qué también deberíamos marcar V1 (firma jar)? y ¿cómo espera Google que sepamos esto?
A.Alqadomi
No es obligatorio. Si es posible, debe marcar AMBAS casillas de verificación, pero si el nuevo mecanismo de firma V2 le da problemas, puede marcar ambas si encuentra problemas.
Shubhamhackz
43

A mí me pasó lo mismo, siempre que genere mi apk desde Build> Build APK. Podía instalar y desinstalar la apk tantas veces como fueran sin ningún problema, pero en cambio si generaba la APK Build> Generate Signed, cuando pasaba la apk al teléfono e intentaba instalarla, solo me permitía una ocasión, la misma que salió el siguiente mensaje:

ingrese la descripción de la imagen aquí

hasta entonces todo estaba bien si seleccioné "INSTALAR DE CUALQUIER MANERA", pero ¿qué sucedió si desinstalé la aplicación y quería reinstalarla (un posible escenario), sucedió lo siguiente:

ingrese la descripción de la imagen aquí

así que resolví el problema desactivando Play Protect, lo que logré (dentro de Google Play)> Menú> Play Protect> Buscar amenazas de seguridad (desactivar).

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Gerrard
fuente
Esta solución me funciona. Otro cambio de Google +1
Listo para Android el
¡Me salvaste la vida!
Akcoban
¿Podría decirnos por qué sucede esto? ¿Qué estoy haciendo mal que hace que esto sea la solución?
sparkhead95
16

"Aplicación no instalada" muestra cuando una aplicación con el mismo paquete ya está instalado en el mismo dispositivo. simplemente elimine su primera aplicación que estaba usando con fines de prueba antes de convertirla en apk firmado. Esto funcionará. ¡salud!

Tara
fuente
8
Sí, lo sé, pero no está instalado previamente.
Adam Varhegyi
6
¿Cómo puedo instalar apk con una versión superior, sin eliminar la aplicación actual?
user7856586
12

Seleccione tanto Signature Version v1 como v2 para resolver el problema

ingrese la descripción de la imagen aquí

esquema v1

Un archivo JAR se puede firmar usando la herramienta jarsigner de línea de comandos o directamente a través de la API java.security. Cada entrada de archivo, incluidos los archivos no relacionados con la firma en el directorio META-INF, se firmará si el archivo JAR está firmado por la herramienta jarsigner. Para cada entrada de archivo firmada en el archivo JAR firmado, se crea una entrada de manifiesto individual para ella siempre que no exista en el manifiesto.

Esquema V2

Las firmas v1 no protegen algunas partes del APK, como los metadatos ZIP. El verificador de APK debe procesar muchas estructuras de datos que no son de confianza (aún no verificadas) y luego descartar los datos que no están cubiertos por las firmas. Esto ofrece una superficie de ataque considerable. Además, el verificador de APK debe descomprimir todas las entradas comprimidas, lo que consume más tiempo y memoria. Para abordar estos problemas, Android 7.0 introdujo APK Signature Scheme v2

De forma predeterminada, Android Studio 2.2 y el complemento de Android para Gradle 2.2 firman su aplicación utilizando tanto APK Signature Scheme v2 como el esquema de firma tradicional, que usa la firma JAR.

Se recomienda utilizar APK Signature Scheme v2, pero no es obligatorio. por favor vea los detalles

Lineesh K Mohan
fuente
10

En Android Studio 3.0 y superior

Como se describe aquí

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 Build Bundle (s) / APK (s)> Build APK (s).

Agregue la etiqueta de aplicaciónandroid:testOnly="false" interna en AndroidManifest.xml

Referencia: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

Ketan Ramani
fuente
7

La respuesta anterior de shubham soni funciona para mí, en realidad sucede con la versión de Android> = 5.0.En la parte superior, puede instalar solo use esto mientras crea su apk ingrese la descripción de la imagen aquí...

Amit raj
fuente
1
¿Por qué esta respuesta duplicada?
sziraqui
@sziraqui: Subhankar soni no ha mencionado por qué "No se puede instalar la apk firmada en el dispositivo manualmente, obtuve el error" Aplicación no instalada ". Enfrenté el mismo problema relacionado con la versión de OS como mencioné anteriormente, así que para una mejor comprensión mencioné que. ¿Hay algún problema en mi respuesta? .Para la versión de Android <= 5.0, podrá instalar el mismo apk sin marcar las casillas de verificación de ambas versiones de firma.
Amit raj
Su respuesta es solo agregar un punto más a la respuesta original, por lo que debería haber sido un comentario. Si está publicando esto como respuesta, debe agregar algún tipo de cita que respalde su afirmación de Android 5.0. ¿Qué pasa si su problema estaba realmente relacionado con Android IDE y no con la versión de Android?
sziraqui
Gracias, la imagen de la respuesta me dio la idea de probar las firmas V1 y V2 habilitadas. Anteriormente solo iba con V1
jasxir
6

Aquí resolví este problema

La razón detrás de este problema es que ya existe una aplicación con el mismo nombre de paquete en el teléfono, pero no puede encontrarla en el menú del teléfono (U ya realizó la desinstalación, pero en realidad todavía está en su teléfono).

Para ver la aplicación, vaya a CONFIGURACIÓN de teléfonos -> APLICACIONES . Allí puede ver la aplicación, pero dentro de ella el botón DESINSTALAR puede estar deshabilitado. haga clic en el botón de desbordamiento del menú para ver Desinstalar para todos los usuarios .

Después de realizar la desinstalación para todos los usuarios, he instalado correctamente mi apk firmado. También puede usar adb para desinstalar la aplicación del teléfono.

adb uninstall package name

Además de esto, si su móvil admite varios usuarios , compruebe si la aplicación correspondiente no está instalada para otros usuarios. Si está instalado para otros, primero desinstale la aplicación anterior e intente nuevamente

Alex Chengalan
fuente
4

Es una pregunta bastante antigua, pero mi solución fue cambiar versionCode (aumentar) en build.gradle

mateusz-dot
fuente
4

Ir a Build.Gradle (módulo: aplicación)

use esto - minifyEnabled false

Abhinav Pandey
fuente
4

minifyEnabled false

es el único que funcionó para mí después de 3 días de investigación en todos los foros.

Toto1
fuente
1
Esto parece ser solo una repetición de esta respuesta existente .
Pang
Con comentarios añadidos.
robinCTS
En otras palabras, esto debería haberse publicado como un comentario sobre esa respuesta , no como una respuesta en sí misma.
robinCTS
3

Eso puede deberse a que ejecuta el archivo APK desde el almacenamiento externo de la tarjeta SD. Simplemente copie el archivo APK en el almacenamiento interno. El problema se resolverá

Vu Thai Duy
fuente
1

Esto puede suceder debido a su elección de la versión de la firma. En algunos teléfonos, se producen errores de instalación si se selecciona la versión de la firma como V2. Entonces, si eso sucede, intente seleccionar V1, seguramente funcionará.

Prashant Paliwal
fuente
1

Enfrenté el mismo problema hoy, recordé que firmé mi apk con la "nueva" firma de Google Play:


ingrese la descripción de la imagen aquí


Asegúrese de haber firmado su solicitud con la firma de Google Play.

Si lo hiciste:

  • Instale una actualización cargando su apk a Google Console (como lo haría normalmente al actualizar su aplicación):

ingrese la descripción de la imagen aquí


  • Una vez que se haya cargado correctamente, abra el Artifact library en el menú.
  • Verá el apk que acaba de cargar.
  • Presione el botón de descarga y seleccione Download derived APK.

Ahora podrá instalar el apk.

MEDIA PENSIÓN.
fuente
0

si su versión de Android Studio es superior a 3.0

Parece que no podemos usar directamente el apk después de ejecutarlo en el dispositivo desde la carpeta build -> output-> apk.

Después de actualizar a Android Studio 3.0, debe ir a Build -> Build Apk (s) y luego copiar el apk de build -> output -> apk -> debug

ingrese la descripción de la imagen aquí

Keshav Gera
fuente
El título de esta pregunta - "Cannot install signed apk". Te refieres a depurar apk.
KRK
0

Archivo> Estructura del proyecto> Variantes de compilación> Seleccionar versión> Asegúrese de que 'Configuración de firma' no esté vacía> si se selecciona en la ventana desplegable, $signingConfigs.release

Hice esto con Android Studio 3.1.4 y me permitió crear un apk de lanzamiento después de seguir todos los pasos anteriores para crear el apk de lanzamiento y la clave de lanzamiento y agregar la información a la aplicación gradle. ¡Salud!

Treewallie
fuente
$signingConfigs.releaseno está disponible, solo $signingConfigs.debugestá disponible.
KRK
Luego vaya a Compilar> Generar APK> Seleccionar APK y siga las instrucciones.
Treewallie
0

Tenía el mismo problema en mi aplicación de Android. Acabo de actualizar una biblioteca y luego crear un APK de signo. Ahora es trabajo.

Shailesh
fuente
0

No es necesario que desinstale la versión de Google Play si la firma de aplicaciones de Google Play está habilitada para su aplicación, siga los pasos:
1. Cree una versión firmada de su aplicación con su clave de lanzamiento
2. Vaya a la consola de desarrollo de Google Play
3. Cree una versión de pista cerrada (versión alfa o beta) con la nueva versión firmada de su aplicación
4. Ahora puede descargar el apk firmado por App Signing de Google Play , elija el APK derivadoingrese la descripción de la imagen aquí

  1. Instale el APK derivado descargado

El motivo es que la firma de aplicaciones de Google Play muestra aplicaciones de lanzamiento con diferentes claves, si tiene una aplicación instalada desde Play Store y desea probar la nueva versión de la aplicación (generada desde Android Studio) en su teléfono, "Aplicación no instalada" Sucede ya que la versión anterior y la nueva fueron firmadas por dos claves diferentes: una con App Signing de Google Play y otra con tu clave.

Abduaziz Kayumov
fuente
0

La eliminación del android:testOnly="true"atributo de AndroidManifest.xml funcionó. enlace

Sachin K
fuente
0

Desinstale amablemente la aplicación de depuración en el dispositivo o simplemente aumente el código de la versión para solucionar estos problemas

Jaaveeth
fuente
0

En mi caso, estaba intentando probar la instalación de un APK firmado y la versión instalada actual en mi dispositivo no estaba firmada (creando una versión de depuración directamente desde el estudio de Android)

policenauts
fuente
0

Es obvio, pero aún así fue difícil de entender para mí,

Compruebe si su dispositivo móvil tiene suficiente espacio para instalar el apk. y no está lleno.

Makarand
fuente