react native 打包APK_邓惠子飞吧-优快云博客
1.生成一个签名密钥
进入你的jdk/bin安装目录下。提示一般在C盘,且需要用管理员运行。一般先进入进入到Program Files项目下,一层一层占到jdk进入bin中操作下面命令即可生成。
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
这条命令会要求你输入密钥库(keystore)和对应密钥的密码,然后设置一些发行相关的信息。最后它会生成一个叫做my-release-key.keystore
的密钥库文件。
至此,生成了你想要的签名文件,且这个文件叫做my-release-key。怎么看里面的信息?
用这个命令查看相应的sha1和sha256就行了。
keytool -list -v -keystore my-release-key.keystore
SHA1: 0C:75:04:27:32:83:3A:D5:E3:26:97:F0:62:59:20:49:3C:F4:A2:32
SHA256: 78:1D:8B:33:3C:36:6B:5E:48:07:AF:81:E7:1E:6B:4C:EA:0B:9C:2A:FD:C0:36:72:C3:64:D2:BE:F7:E9:47:23
2. 设置 gradle 变量
- 把
my-release-key.keystore
文件放到你工程中的android/app
文件夹下。 - 编辑
~/.gradle/gradle.properties
(全局配置,对所有项目有效)或是项目目录/android/gradle.properties
(项目配置,只对所在项目有效)。如果没有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=*****
4.把签名配置加入到项目的 gradle 配置中
编辑你项目目录下的android/app/build.gradle
,添加如下的签名配置:
...
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
}
}
}
...
5. 生成发行 APK 包
只需在终端中运行以下命令:
$ cd android
$ ./gradlew assembleRelease