Open CMD with admin rights and navigate to android folder in JAVA jdk execute keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 copy my-upload-key.keystore file into projects android/app add MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore MYAPP_UPLOAD_KEY_ALIAS=my-key-alias MYAPP_UPLOAD_STORE_PASSWORD=***** MYAPP_UPLOAD_KEY_PASSWORD=***** into android/gradle.properties then inside android/app/build.gradle signingConfigs { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file(MYAPP_UPLOAD_STORE_FILE) storePassword MYAPP_UPLOAD_STORE_PASSWORD keyAlias MYAPP_UPLOAD_KEY_ALIAS keyPassword MYAPP_UPLOAD_KEY_PASSWORD } } } buildTypes { release { ... signingConfig signingConfigs.release } } create Assets folder and index.android.bundle file in 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 cd android gradlew clean gradlew assembleRelease -x bundleReleaseJsAndAssets https://reactnative.dev/docs/signed-apk-android https://stackoverflow.com/questions/54634072/react-native-signed-release-apk-keeps-crashing-in-device