Generar un APK o ABB (para publicar) con eas en Expo React Native

Tiempo de lectura: 3 minutos

Hoy os voy a enseñar cómo generar un APK o ABB usando eas en Expo React Native.

Lo primero que vamos a hacer es instalar eas-cli:

npm install -g eas-cli

Una vez instalado, lanzamos el comando para actualizar:

eas build:configure

Y aparece esto:

Seleccionamos lo que queremos configurar (iOS, Android o ambos).

En mi caso selecciono ambos.

Una vez configurado, la configuración por defecto aparece así (eas.json):

{
  "cli": {
    "version": ">= 0.42.4"
  },
  "build": {
    "development": {
      "distribution": "internal",
      "android": {
        "gradleCommand": ":app:assembleDebug"
      },
      "ios": {
        "buildConfiguration": "Debug"
      }
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {}
  },
  "submit": {
    "production": {}
  }
}

Pongo este de ejemplo con los datos completos:

{
  "cli": {
    "version": ">= 0.42.4"
  },
  "build": {
    "development": {
      "channel": "development",
      "developmentClient": true,
      "distribution": "internal",
      "android": {
        "buildType": "apk"
      }
    },
    "preview": {
      "android": {
        "buildType": "apk"
      },
      "channel": "preview"
    },
    "preview2": {
      "android": {
        "gradleCommand": ":app:assembleRelease"
      },
      "channel": "preview2"
    },
    "preview3": {
      "developmentClient": true,
      "channel": "preview3"
    },
    "production": {
      "android": {
        "buildType": "app-bundle"
      },
      "channel": "production"
    }
  }
}

Esta configuracion creara un APK para development y para preview. Y un AAB para producción.

Antes de ejecutar nada, necesitamos tener una cuenta gratis en Expo.

Ahora para generar el APK tendremos que introducir el siguiente comando:

eas build -p android --profile production

Nos pedirá hacer login:

Introducimos el e-mail y el password y ya estamos logeados en Expo.

Cuando pregunte si queremos instalar expo updates, podemos elegir que no, si queremos instalarlo tenemos podemos seguir este tutorial: https://devcodelight.com/instalar-eas-updates-expo-updates-en-react-native-usando-expo/

Nos pedirá generar una nueva keystore:

Generate a new Android Keystore?

Elegimos que sí, y la usaremos para producción.

Si ya tenemos una clave, podemos subirla, indicando que no queremos generar una.

Indicamos el path con el archivo. La password y el key alias con su password. Esto almacenará nuestra key dentro de EAS.

Ahora hay que esperar mientras se genera el build. Eas genera los builds de forma remota en su propio servidor, esto nos permite generar Android / iOS sin disponer del entorno.

Una vez generada, aparecerá el link dónde podemos descargar nuestro APK. Recuerda que este APK es de desarrollo y no de producción.

Si queremos generar el de desarrollo:

eas build -p android --profile development

Si queremos generar uno previo instalable:

eas build -p android --profile preview

Si queremos realizar el manejo de versiones para subir de versión nuestra APP tendremos que ir al fichero app.json y modificar las versiones aquí:

"expo": {
    "name": "App",
    "slug": "slug_app",
    "scheme": "app",
    "version": "2.0.10",

En expo versión se puede subir el número de versión.

Después dentro de iOS:

 "ios": {
      "supportsTablet": true,
      "bundleIdentifier": "com.app",
      "buildNumber": "2.0.10",

El buildNumber es el que maneja la versión de iOS.

Y después dentro de Android:

 "android": {
      "versionCode": 74,

Dentro de versionCode, se debe aumentar el número de versión de manejo interno en Play Store.

Una vez aumentados los números utilizaremos este comando para actualizar el proyecto Android y el proyecto iOS (solo si tenemos un MAC).

expo prebuild

Y después ya podremos generar el build.

2 comentarios en «Generar un APK o ABB (para publicar) con eas en Expo React Native»

Deja un comentario