En este artículo, aprenderá cómo crear un archivo APK o Android App Bundle (ABB) para una aplicación React Native. Su aplicación debe estar firmada digitalmente con una clave de carga para que su aplicación de Android se publique en la tienda Google Play.
Generación de claves de firma privadas en Terminal/cmd: puede usar keytool para generar claves de firma privadas. Asegúrese de que keytool se debe ejecutar desde C:\Program Files\Java\jdkx.x.x_x\bin
Abra la ubicación de su proyecto en la terminal/línea de comando como se muestra en la imagen a continuación.
Ingrese este comando para generar un archivo Keystore (no para usuarios de macOS):
keytool -genkeypair -v -storetype PKCS12 -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
Este comando le pedirá la contraseña de Keystore y alguna información básica sobre usted. (La contraseña que ingresará no será visible en la pantalla)
En el último paso, ingrese «sí» y se generará un par de claves RSA de 2,048 bits y un certificado autofirmado (SHA256withRSA) con una validez de 10,000 días. Esto se almacenará en el directorio del proyecto denominado my-upload-key.keystore.
Producción:
Si está usando macOS, use keytool con sudo:
sudo keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
Configuración de variables de Gradle:
Paso 1: mueva el archivo my-upload-key.keystore al directorio android/app en la carpeta del proyecto.
Paso 2: en android/gradle.properties, agregue las siguientes líneas como se muestra a continuación (reemplace **** con la contraseña, el alias y la contraseña clave correctos del almacén de claves)
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore MYAPP_UPLOAD_KEY_ALIAS=my-key-alias MYAPP_UPLOAD_STORE_PASSWORD=***** MYAPP_UPLOAD_KEY_PASSWORD=*****
Nota sobre la seguridad: si no desea guardar las contraseñas en texto sin formato, puede almacenar sus credenciales en la aplicación Acceso a Llaveros . Luego puede omitir las dos últimas líneas en ~/.gradle/gradle.properties.
Agregar configuración de firma a la configuración de Gradle de la aplicación
A continuación, agregue la configuración de firma en las siguientes líneas en android\app\build.gradle en la carpeta de su proyecto:
... android { ... defaultConfig { ... } signingConfigs { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file(MYAPP_UPLOAD_STORE_FILE) storePassword MYAPP_UPLOAD_STORE_PASSWORD keyAlias MYAPP_UPLOAD_KEY_ALIAS keyPassword MYAPP_UPLOAD_KEY_PASSWORD } } } buildTypes { release { ... signingConfig signingConfigs.release } } } ...
Después de este paso, puede generar un archivo APK/ABB.
Generando el APK:
Para la generación de archivos APK, ejecute el siguiente comando en CMD:
cd android ./gradlew assembleRelease
Producción:
¡Ahora recibirá un mensaje CONSTRUIR CON ÉXITO y luego se generará un archivo APK!
Puede encontrar el archivo APK en android/app/build/outputs/apk/app-release.apk.
Generación de ABB (opcional): para la generación de archivos ABB, ejecute el siguiente comando en CMD:
cd android ./gradlew bundleRelease
Producción:
Recibirá un mensaje, CONSTRUIR CON ÉXITO .
¡Ahora se genera el archivo ABB!
Puede encontrar el archivo ABB en android/app/build/outputs/bundle/release/app.aab que se puede cargar en Google Play Store.
Prueba de la versión de lanzamiento de su aplicación: para probar su aplicación antes de publicarla en Play Store, desinstale cualquier versión anterior de la aplicación e instálela usando el comando que se indica a continuación:
npx react-native run-android --variant=release
Paso opcional: habilitar Proguard para comprimir el tamaño de APK.
La herramienta Proguard se utiliza para optimizar el tamaño de APK.
Edite android/app/build.gradle y busque «enableProguardInReleaseBuilds» y hágalo realidad para habilitar proguard: –
def enableProguardInReleaseBuilds = true
Publicación traducida automáticamente
Artículo escrito por lovishtater y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA