Paquete simple de APK de Android para paquete de aplicación lähde: Elye | Publicaciones sobre desarrollo de aplicaciones móviles Octubre de 2020

Desarrollo de aprendizaje para Android

Google Play requiere el paquete de aplicaciones desde mediados de 2121

Una foto de Richard Lee en Unsplash

LNos guste o no, Google tiene como objetivo admitir solo el paquete de aplicaciones a partir de mediados de 2021, como se señaló anteriormente. anunciado en el sitio web.

Los pasos para pasar a un paquete de aplicación son realmente sencillos. (Suponiendo que ya tiene un APK con el almacén de claves correcto en su lugar).

  1. Inicie sesión para firmar aplicaciones en Google Play
  2. Crear un nuevo almacén de claves (opcional)
  3. Genere un paquete de aplicación con un nuevo almacén de claves (o con el anterior si omite el paso 2)
  4. Sube el archivo App Bundle (aab) a tu tienda.

¡Y ya está!

Pero estoy empezando a tener preguntas … y lo que más me preocupa cuando un paso es incorrecto (por ejemplo, cargar un almacén de claves incorrecto, etc.), es que mi aplicación ya no es actualizable. Tenía tantas preguntas.

Por lo tanto, los escribo aquí, si te refieres a la misma pregunta y te preocupa la migración, al menos tienes un enlace a cómo se migró.

Para iniciar sesión, debe tener un certificado de Google en su almacén de claves que le ayude a iniciar sesión cuando los usuarios descarguen su aplicación.

Puede iniciar sesión en su Play Store Console. Una imagen que vale un millón de palabras, como se muestra a continuación.

Lo más confuso para mí en esta consola es que hay 3 formas de cargar su clave. si usted tiene keystore, usar la opción 2 (Exportar y cargar claves desde Java Keystore) sería más claro porque es solo una línea de comando.

Todo lo que tiene que hacer es cargar el archivo .pem generado.

Debido a que proporcionó a Google Play su certificación de clave, aún puede firmar su aplicación (APK o AAB) usando el almacén de claves original y cargarla en la tienda.

Google también recomienda generar una nueva clave de carga. He estado generando una nueva clave durante algún tiempo, así que estoy perdido.

En Android Studio 4.1 es de hecho Build → Generate Signed Package o APK → (luego selecciona APK o App Bundle). Luego llegas a este diálogo y seleccionas Crear nuevo… (un lugar bastante escondido para crear un almacén de claves)

Luego genere un certificado, siga las instrucciones y cargue el archivo .pem.

Hacerlo es bastante simple, pero me obliga a hacer algunas preguntas si la aplicación aún funciona con una clave previamente firmada, etc. Esto es más importante cuando el usuario actualiza la aplicación.

Mis hallazgos se enumeran a continuación

  • Independientemente del APK o AAB firmado con el almacén de claves original o el almacén de claves de carga, ambos se pueden cargar en PlayStore y el usuario puede descargarlos como la aplicación APK original.

Se puede ver en el diagrama anterior que no importa quién use el almacén de claves original o de carga, Google eventualmente firmará con el PEM original. Por lo tanto, el usuario aún obtiene un APK que es el mismo que firmó anteriormente.

Dos beneficios de tener Google Store con el PEM original

  • Si perdemos el KeyStore, podemos decir que Google y Google nos permitirán crear un nuevo Subir KeyStore, porque tienen el original para firmar para asegurar que la generación del APK siempre será la misma.
  • Entonces, sin guardar el almacén de claves original, lo que aumenta un cierto nivel de seguridad, donde el acceso al almacén de claves original es más difícil para cualquiera, es más difícil crear una réplica de APK sin pasar por Google Playstore.

La desventaja de usar el almacén de claves de carga

Sin embargo, usar un almacén de claves de carga tiene dos desventajas. Esto es en caso de que haya subido previamente su apk a otro servicio de distribución de aplicaciones, por ejemplo, Fabric Crashlytic Distribution en el pasado, y ahora la distribución de aplicaciones de Firebase que usa para las pruebas internas

Los problemas se ilustran más fácilmente en el siguiente diagrama.

Con este enfoque, su último APK cargado en la distribución de su aplicación se firmará utilizando su almacén de claves. Esto se debe a que tu APK en tu tienda de distribución no es compatible

  1. Será incompatible con una versión anterior del APK cargada en la distribución de la aplicación. Cualquiera que instale la v3 anterior no puede actualizar a la v4. Afortunadamente, es único entre v3 y v4. Luego, si inicia sesión con la versión de carga, la próxima versión será compatible con v4.
  2. Será incompatible con el APK descargado de Google Playstore. Esto se debe a que el APK en la distribución de la aplicación se firma cargando el almacén de claves, mientras que el que descargamos de Google Playstore seguirá estando firmado por el PEM (certificado del almacén de claves) original. Por lo tanto, serán para siempre incompatibles.

Hay 2 formas de generar un paquete de aplicación, manual y línea de comandos. Son los mismos que la generación APK con pequeñas diferencias.

Generar manualmente

Para generar un paquete de aplicación manualmente, vaya a Construir → Generar paquete firmado o APK, luego seleccione Paquete de aplicaciones de Androidy continuar como de costumbre.

Generación de línea de comando

Generar un paquete de aplicación usando la línea de comando, es similar a generar un APK. Podemos usar el siguiente comando para generar el APK

./gradlew assembleFlovornameBuildtype

Solo podemos cambiar el paquete de aplicaciones assemble en bundle

./gradlew bundleFlovornameBuildtype

La salida será (asumiendo app módulo) en

<project folder>/app/build/outputs/bundle/

El último paso es cargar el paquete de la aplicación. Puede cargar el paquete de su aplicación manualmente como si estuviera cargando un archivo APK en cualquier pista.

Opcionalmente, puede

1. Usa el juego gradle de Triple-T de la editorial

Aquí encontrará una guía, aunque la última versión ya es 3.0.0, algunos cambios.

2. API oficial de editor de Android (todavía no la he usado)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *