原文是官方文檔的Generating Signed APK](https://facebook.github.io/react-native/docs/signed-apk-android.html))
1.生成簽名用的key
在項目根目錄下運行
$ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
這樣便會生成名為my-release-key.keystore的keystore。一些值得注意的點:
- key的有效期(validity)為10000天
- 別名(alias)my-key-alias在等會兒給app簽名時要用到。
2.設置gradle變量
①將剛才生成的my-release-key.keystore文件放到你的React Native項目中的android/app目錄下
②編輯android/gradle.properties,添加以下內容:
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****
將*****替換為剛才設置的keystore和key的密碼
3.在app的gradle設置中添加簽名設置
編輯文件android/app/build.gradle
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
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
}
}
}
...
可選項:開啟Proguard減小apk的大小
def enableProguardInReleaseBuilds = true
3.生成release版本的APK
$ cd android && ./gradlew assembleRelease
然后你就可以在android/app/build/outputs/apk/app-release.apk中找到生成的APK
4.安裝測試
$ cd android && ./gradlew installRelease