Last active
June 27, 2024 13:34
-
-
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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} |
- (in project directory) mkdir android/app/src/main/assets
- 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?
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
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.