I\'ve seen new release of react native for android and tried some examples. It works only with USB debug mode and \"adb reverse tcp:8081 tcp:8081\". How can I build android
I have put together some steps that worked for me. Hopefully it would save time.
For bundling the package to work in local you need to do
$ curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
Then for compiling apk
$ ./gradlew assembleRelease
I have added detailed instructions at : https://github.com/shyjal/reactnative-android-production
As for me, I add in my package.json to "scripts":
"release": "cd android && ./gradlew assembleRelease"
And then in terminal I use:
npm run release
Or with yarn:
yarn release
You will have to create a key to sign the apk. Use below to create your key:
keytool -genkey -v -keystore my-app-key.keystore -alias my-app-alias -keyalg RSA -keysize 2048 -validity 10000
Use a password when prompted
Once the key is generated, use it to generate the installable build:
react-native bundle --platform android --dev false --entry-file index.android.js \
--bundle-output android/app/src/main/assets/index.android.bundle \
--assets-dest android/app/src/main/res/
Generate the build using gradle
cd android && ./gradlew assembleRelease
Upload the APK to your phone. The -r flag will replace the existing app (if it exists)
adb install -r ./app/build/outputs/apk/app-release-unsigned.apk
A more detailed description is mentioned here: https://facebook.github.io/react-native/docs/signed-apk-android.html
To build a release version of your Android app:
$ cd your-app-folder
$ cd android && ./gradlew assembleRelease
You'll need to set up signing keys for the Play Store, full documentation here: http://facebook.github.io/react-native/docs/signed-apk-android.html