原文是官方文档的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