logo

Cómo preparar una aplicación Flutter para Google Play

octubre 25, 2021, Sin comentarios

Lo primero es firmar la app de forma digital. Para ello tenemos que ejecutar la siguiente línea de comandos:

keytool -genkey -v -keystore c:\Users\USER_NAME\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload 

El campo USER_NAME debe ser sustituido por el nombre de usuario. 

Es posible que el comando keytool no se encuentre en la path del sistema, lo que genera un error. Sin embargo keytool es parte del JDK de Java que se instala como parte de Android Studio, así que hay que desplazarse a la ruta donde esté Java instalado, normalmente C:\Program Files\Java y entrar en la JDK o JRE que tengamos instalada. Aquí funcionará keytool. 

Una vez lanzado el comando nos preguntará información personal y la contraseña y nos generará el archivo de clave (es importante mantener este archivo en un lugar privado). 

Una vez hecho esto, en nuestro proyecto crearemos un archivo llamado <app dir>/android/key.properties con la siguiente información:

storePassword=<contraseña del paso anterior>

keyPassword=<contraseña del paso anterior>

keyAlias=key

storeFile=<localización del archivo, por ejemplo /Users/<user name>/key.jks>

(el keyAlias viene dado en la línea de comandos, en este ejemplo es upload).

El siguiente paso es dirigirse al archivo <app dir>/android/app/build.gradle y colocar encima del bloque android{} colocar la información de la keystore:

def keystoreProperties = new Properties()

def keystorePropertiesFile = rootProject.file('key.properties')

if (keystorePropertiesFile.exists()) {

    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

}

 android {...

También hay que reemplazar el bloque buildTypes{} con: 

signingConfigs {

    release {

        keyAlias keystoreProperties['keyAlias']

        keyPassword keystoreProperties['keyPassword']

        storeFile file(keystoreProperties['storeFile'])

        storePassword keystoreProperties['storePassword']

    }

}

buildTypes {

    release {

        signingConfig signingConfigs.release

    }

}

Así los release de la aplicación se firmarán automáticamente.

Ahora podemos compilar un release app bundle, que será el archivo a subir a Google Play.

*IMPORTANTE

Es importante cambiar el package por defecto de nuestra aplicación (com.example) ya que no está permitido en Google Play. 

Si ya está creado el proyecto, para cambiarlo se puede usar la librería change_app_package_name de flutter que se puede encontrar en pub.dev

Si no queremos usar esta librería se puede hacer de forma manual en seis pasos

  1. Nos dirigimos al archivo  <project-name>/android/app/src/main/kotlin/com/ejemplo/app y modificamos la línea package com.ejemplo.app con el nuevo nombre.
  2. Modificar los directorios que contienen este archivo. De : <project-name>/android/app/src/main/kotlin/com/ejemplo/app a: <project-name>/android/app/src/main/kotlin/tu/paquete/proyecto
  3. Modificar el archivo AndroidManifest.xml situado en /android/app/src/main y cambiar el apartado package=”com.ejemplo.app” con el nuevo valor
  4. Hacer lo mismo en el archivo AndroidManifest.xml situado en /android/app/src/debug
  5. Y también en el AndroidManifest.xml de /android/app/src/profile
  6. Por último en el archivo build.gradle situado en /android/app/src/ cambiar el atributo aplicationId con el nuevo nombre.

Para generar nuestro app Bundle usaremos el comando flutter build appbundle

Se creará en <app dir>/build/app/outputs/bundle/release/app.aab

Una vez tengamos el app Bundle nos dirigimos a Google Play Console y nos registramos. 

Dentro de la pantalla principal, tenemos que seleccionar un canal donde vamos a desplegar la aplicación. Los canales son:

  • Prueba interna: el más cerrado de todos. Solo podrán acceder a la aplicación los usuarios de una lista de máximo 100 testers a los que das acceso.
  • Prueba cerrada. Permite un testeo más grande para reunir comentarios más específicos.
  • Prueba abierta. Aparece públicamente en Google Play y cualquiera puede acceder a ella.
  • Producción. Directamente se publica sin pasar por periodo de pruebas.

Una vez seleccionado el canal, arriba a la derecha pulsamos en Crear aplicación

Primero hay que subir y preparar el bundle arrastrándolo  al centro. 

Una vez subido puede dar avisos y errores.

Los avisos es recomendable solucionarlos, pero no es necesario. Los errores deben solucionarse. Ahora siempre nos va a dar el siguiente error: “Debes indicarnos si tu aplicación es una aplicación de rastreo de contactos o de estado de COVID-19”. Para ello hay que dirigirse al final del menú lateral izquierdo, al apartado Política -> Contenido de la aplicación y marcar lo correspondiente a la aplicación en concreto.

Si hemos creado la app en un canal cerrado, tendremos que crear una lista de usuarios testers y añadir los correos electrónicos de los usuarios.

Una vez hecho, los usuarios enlistados podrán descargar la aplicación a través de un enlace.

Si queremos crear una nueva versión de nuestra aplicación, un detalle importante es cambiar en el pubspec.yaml de nuestra aplicación el apartado version: y actualizarlo, antes de generar el nuevo bundle, ya que no se puede crear una nueva versión con el mismo número de versión de otra ya existente.

¿Quieres compartirlo en las redes sociales?

Deja una respuesta

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

No hay comentarios, anímate y deja el primero.

SERVICIOS
PRODUCTOS
clicktec logoGanvApp
CONTACTO
Horario: Lunes a viernes de 8.30 a 14.00h y 16.00 a 19.30h
Av. de Andalucía, 56, B, bajo, 23006 Jaén – Españainfo@deditec.es(+34) 953 195 077
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram