How to generate an apk that works without dev server in react native
After you go through https://facebook.github.io/react-native/docs/signed-apk-android you can simply run
// for build and run
react-native run-android --variant=release
and take apk in
<rn_project_dir>/android/app/build/outputs/apk/release/app-release.apk
How to generate the unsigned apk for android - reac-native
Try this and make sure you have created assets folder :
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 \
&& cd android \
&& ./gradlew clean\
&& ./gradlew assembleDebug
After this you can find your debug apk in
/android/app/build/outputs/apk/debug
Hope it will work .
How can I generate an apk that can run without server with react-native?
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:
$ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
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)
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=****
MYAPP_RELEASE_KEY_PASSWORD=****
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) :
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
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
Build unsigned APK file with Android Studio
I would recommend you to build your APK file with Gradle:
- Click the dropdown menu in the toolbar at the top (Open 'Edit Run/Debug configurations' dialog)
- Select "Edit Configurations"
- Click the "+"
- Select "Gradle"
- Choose your module as a Gradle project
- In Tasks: enter
assemble
- Press Run
Your unsigned APK is now located in
ProjectName\app\build\outputs\apk
For detailed information on how to use Gradle, this tutorial is good to go: Building with Gradle in Android Studio. I also wrote a blog post on how to build an unsigned APK with Gradle.
If you moved your project from the other IDE and don't want to recompile, you may find your APK file that was already built in the IDE you moved from:
If you generated the Project with Android Studio, the APK file will be found in
ProjectName/ProjectName/build/apk/...
Imported the project from eclipse: File should be in the same directory. Go to
Project
-Show in Explorer
. There you should find the bin folder where your APK file is located in.Imported from IntelliJ, the location would be
ProjectName/out/production/...
Side note:
As Chris Stratton mentioned in his comment:
Technically, what you want is an APK signed with a debug key. An APK
that is actually unsigned will be refused by the device.
Related Topics
Convert a Bitmap to Grayscale in Android
How to Turn Off 3G/Data Programmatically on Android
Convert Content:// Uri to Actual Path in Android 4.4
How to Create a Notification with Notificationcompat.Builder
Findviewbyid VS View Holder Pattern in Listview Adapter
Apply a Theme to an Activity in Android
Transitive Dependencies for Local Aar Library
Emulate Mifare Card with Android 4.4
Sharing Data Between Fragments Using New Architecture Component Viewmodel
Spannablestring with Image Example
Android Drawable Images from Url
What Is the Relation Between App_Platform, Android:Minsdkversion and Android:Targetsdkversion
Manifest Merger Failed:Attribute Application@Appcomponentfactory - Androidx
Can Multiple Android Application Access Same Firebase Database
Error: Fix the Version Conflict (Google-Services Plugin)
Blue Dot and Circle Is Not Shown on Mylocation Using Android Fused Location API