Skip to content
Advertisement

How can I generate an apk that can run without server with react-native?

I’ve built my app, I can run it on my local emulator (and also on my android device within the same network by changing debug server).

However, I want to build an APK that I can send to someone without access to the development server and I want them to be able to test application.

I see there is a section Using offline bundle on iOS section of the documentation. But I couldn’t figure out how to accomplish the same for android. Is this possible? If so, how?

UPDATE: On the answer to this question (Android failed to load JS bundle) it is said that offline bundle can be downloaded from development server. But when I obtain the bundle from development server the image files can’t be loaded.

Advertisement

Answer

Following Aditya Singh’s answer the generated (unsigned) apk would not install on my phone. I had to generate a signed apk using the instructions here.

The following worked for me:

JavaScript

Place the my-release-key.keystore file under the android/app directory in your project folder. Then edit the file ~/.gradle/gradle.properties and add the following (replace **** with the correct keystore password, alias and key password)

JavaScript

If you’re using MacOS, you can store your password in the keychain using the instructions here instead of storing it in plaintext.

Then edit app/build.gradle and ensure the following are there (the sections with signingConfigs signingConfig may need to be added) :

JavaScript

Then run the command cd android && ./gradlew assembleRelease ,

For Windows ‘cd android’ and then run gradlew assembleRelease command , and find your signed apk under android/app/build/outputs/apk/app-release.apk, or android/app/build/outputs/apk/release/app-release.apk

User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement