React Native APK and AAB Generation Guide

This document outlines the steps to generate APK and AAB files for React Native applications, including enabling Proguard to reduce APK size.

1. Generate a Keystore for Signing

To sign your app, you need a keystore. Use the following command:

keytool -genkeypair -v -storetype PKCS12 -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

Example Information:

· Keystore Name: my-upload-key.keystore

· Alias Name: my-key-alias

· Store Password: Replace with your secure password.

· Key Password: Replace with your secure password.

Environment Variables Configuration

Add the following environment variables to your project:

MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore

MYAPP_UPLOAD_KEY_ALIAS=my-key-alias

MYAPP_UPLOAD_STORE_PASSWORD=*****

MYAPP_UPLOAD_KEY_PASSWORD=*****

Replace ***** with your actual passwords.

2. Configure build.gradle

Edit the android/app/build.gradle file to include signing configurations:

android {

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

}

}

}

3. Generate the Release APK and AAB

For APK File

Run the following command to build the APK:

./gradlew assembleDebug

For AAB File

Run the following command to build the AAB:

npx react-native build-android — mode=release

Combined Command for Both AAB and APK Files

To build both AAB and APK files, modify the script:

cd android

./gradlew bundleRelease assembleRelease

Artifacts Location:

· AAB: android/app/build/outputs/**/*.aab

· APK: android/app/build/outputs/apk/release/*.apk

4. Example Build Script

scripts:

- name: Install npm dependencies

script: |

npm install

- name: Set Android SDK location

script: |

echo “sdk.dir=$ANDROID_SDK_ROOT” > “$CM_BUILD_DIR/android/local.properties”

- name: Make gradlew executable

script: |

chmod +x android/gradlew

- name: Build Android release (AAB and APK)

script: |

cd android

./gradlew bundleRelease assembleRelease

artifacts:

- android/app/build/outputs/**/*.aab

- android/app/build/outputs/apk/release/*.apk

5. Enable Proguard for APK Size Reduction (Optional)

Proguard is a tool to optimize and reduce the size of your APK. Enable it by editing android/app/build.gradle:

/**

* Run Proguard to shrink the Java bytecode in release builds.

*/

def enableProguardInReleaseBuilds = true

Important Note:

Proguard requires configuration specific to the native libraries used in your app. Edit the app/proguard-rules.pro file for proper configurations.

Summary

Follow the steps above to generate signed APK and AAB files, optionally optimize them with Proguard, and successfully release your React Native application.

--

--

Wakeupcoders - Digital Marketing & Web App Company
Wakeupcoders - Digital Marketing & Web App Company

Written by Wakeupcoders - Digital Marketing & Web App Company

We make your business smarter and broader through the power of the internet. Researcher | Web developer | Internet of things | AI | www.wakeupcoders.com

No responses yet