es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Lanzamiento de APK no actualizado, instala la aplicación AAB desde Play Store.

He instalado la versión previa de mi app desde la tienda de Google Play.
Ahora, generé un lanzamiento de apk con el mismo archivo de clave (keystore) utilizando el comando gradlew assembleRelease o con Android Studio, e intenté instalarlo manualmente en un dispositivo o con el comando gradlew installRelease en el emulador.
Pero cada vez que obtengo el error “No se ha instalado la aplicación”.

En LOGCAT obtengo lo siguiente:

INSTALL_FAILED_UPDATE_INCOMPATIBLE: El paquete com.myapp.myapp tiene firmas que no coinciden con la versión anterior instalada, se ignorará.

Estoy usando la opción enableSeparateBuildPerCPUArchitecture en mi archivo gradle.
Además, habilité la firma v2 con estos comandos en el archivo gradle (en la sección release de signingConfigs):

signingConfigs {
  debug {
    storeFile file(...)
    storePassword ...
    keyAlias ...
    keyPassword ...
  }
  release {
    storeFile file(...)
    storePassword ...
    keyAlias ...
    keyPassword ...
    v1SigningEnabled true
    v2SigningEnabled true
  }
}

NOTA: También, si instalo la versión previa de mi app manualmente, la tienda de Google Play no la actualiza.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Este error está ocurriendo porque el APK que está tratando de instalar tiene una firma diferente a la que está actualmente instalada en su dispositivo/emulador. Esto puede suceder si firmó el APK con un archivo keystore diferente o si lo firmó con el mismo archivo keystore pero usando un alias de clave o contraseña de clave diferente.

    Para resolver este problema, necesita asegurarse de que está firmando el nuevo APK con el mismo archivo keystore y alias/contraseña de clave que la versión anterior. Si ha perdido su archivo keystore o no puede recordar el alias/contraseña de clave, desafortunadamente no hay forma de actualizar la aplicación en la Play Store o instalar una nueva versión manualmente sin eliminar por completo la versión anterior de su dispositivo.

    Para firmar su APK con el mismo archivo keystore y alias/contraseña de clave, puede usar Android Studio o la línea de comandos. En Android Studio, puede ir a Build > Generate Signed Bundle/APK y seleccionar su archivo de keystore existente, alias y contraseña. Asegúrese de seleccionar la opción “APK” y no la opción “Paquete de aplicaciones de Android” si desea generar un único archivo APK. Alternativamente, puede usar la línea de comandos y ejecutar ./gradlew assembleRelease seguido de jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore su_archivo_keystore.jks su_aplicación.apk nombre_alias para firmar su APK. También puede usar el comando zipalign para optimizar su APK antes de firmarlo.

    Una vez que haya firmado su APK con la misma clave que la versión anterior, debería poder instalarlo en su dispositivo/emulador sin recibir el error “Aplicación no instalada”. Si todavía tiene problemas, puede intentar desinstalar la versión anterior de la aplicación de su dispositivo/emulador y luego instalar la nueva versión. Tenga en cuenta que desinstalar la aplicación eliminará todos los datos y configuraciones de la aplicación, así que asegúrese de hacer una copia de seguridad de los datos importantes antes de hacerlo.

Comments are closed.