Skip to content

Instantly share code, notes, and snippets.

@marty-wang
Last active June 27, 2024 13:34
Show Gist options
  • Save marty-wang/5a71e9d0a6a2c6d6263c to your computer and use it in GitHub Desktop.
Save marty-wang/5a71e9d0a6a2c6d6263c to your computer and use it in GitHub Desktop.
Compile and deploy React Native Android app of Release version to device.
Disclaimer: The instructions are the collective efforts from a few places online.
Nothing here is my original. But I want to put them together in one place to save people from spending the same time as I did.
First off, bundle.
==================
1. cd to the project directory
2. Start the react-native packager if not started
3. Download the bundle to the asset folder:
curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
(Credit: https://github.com/facebook/react-native/issues/2743#issuecomment-140697340)
Note: make sure there is assets folder under android/app/src/main beforehand, and check if there is any error in the packager terminal window after curl.
Secondly, compile release version.
==================================
1. cd to {YOUR_PROJECT}/android
2. ./gradlew assembleRelease
Thirdly, sign the apk.
======================
1. To generate keystore
keytool -genkey -v -keystore my-keystore.keystore -alias name_alias -keyalg RSA -validity 10000
2. To sign an apk
jarsigner -verbose -keystore <path of my-keystore.keystore> <path of apk> alias_name
3. To zip align an apk
zipalign -f -v 4 <your.apk > <your_aligned.apk>
(Credit: http://stackoverflow.com/questions/26828372/how-to-sign-a-modded-an-apk-on-a-mac-with-apktool)
Lastly, install apk to device.
==============================
1. connect your phone to computer
2. adb install {PATH_TO_APK}
@1fabiopereira
Copy link

I followed the steps above and the compilation works, but the images I used in my application were not loaded, they used relative paths, how can I correct the image problems?

@llucifer97
Copy link

hey @AnandAron I am also facing same issue. Can you tell me how did you fixed that?

@llucifer97
Copy link

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

use this command to download in assets folder.
this works for me

@dhash357
Copy link

I needed to create the directory

android/app/src/main/assets

and run the above command

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

This created the file

index.android.bundle

The install of the app on my device worked from there.

@kranthijulakantiwork
Copy link

  1. (in project directory) mkdir android/app/src/main/assets
  2. react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
    react-native run-android

Previously, I didn't need to execute this command for a release build. But now I need to execute the command. Can I know whether it is a bug or caused due to some changes by me?

@mayurbaldha
Copy link

after generating apk through ./gradlew assembleDebug

How to start again previous react-native run-android with metro bundler to develop further ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment