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.
- Go to the project directory cd
- Start the react-native packager if not started
- 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"
(Thanks : facebook/react-native#2743 (comment))
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.
- cd to {YOUR_PROJECT}/android
- Build release version
$ ./gradlew assembleRelease
- To generate keystore
$ keytool -genkey -v -keystore my-keystore.keystore -alias name_alias -keyalg RSA -validity 10000
- To sign an apk
$ jarsigner -verbose -keystore <path of my-keystore.keystore> <path of apk> name_alias
- To zip align an apk
$ zipalign -f -v 4 <your.apk > <your_aligned.apk>
(Thanks : http://stackoverflow.com/questions/26828372/how-to-sign-a-modded-an-apk-on-a-mac-with-apktool)
- Connect your phone to computer
- Install apk
$ adb install {PATH_TO_APK}
Visit http://facebook.github.io/react-native/docs/signed-apk-android.html for more details on generating signed APK