一、使用keytool
命令生成一个签名密钥
$ keytool -genkeypair -v -storetype PKCS12 -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
在 Windows 上keytool
命令放在 JDK 的 bin 目录中(比如C:\Program Files\Java\jdkx.x.x_x\bin
),你需要在命令行中先进入bin中才能执行keytool命令。
最后它会生成一个叫做my-release-key.keystore
的密钥库文件。
然后将my-release-key.keystore
文件放到你工程中的android/app
文件夹下
提示:可能会告诉你没有权限,这时候你就使用管理员运行CMD就可以了。
二、设置 gradle 变量
即:gradle.properties的配置。
分2种设置 gradle.properties 变量方法:一种是全局配置,另外一种是项目级配置。
全局配置对所有项目有效,项目级配置只对所在项目有效。
全局配置:一般都是在你的C盘中,我的是:C:\Users\luanjialin\.gradle下面,如果没有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=这里是你设置的密码
项目级配置:一般在你的项目目录/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=这里是你设置的密码
三、把签名配置加入到项目的 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_PASSWORDkeyAlias MYAPP_RELEASE_KEY_ALIASkeyPassword MYAPP_RELEASE_KEY_PASSWORD}}}buildTypes {release {...signingConfig signingConfigs.release}}
}
...
这里切记,不要删除原来的任何内容,只是将新内容加入进来。
四、打包
$ cd android
$ ./gradlew assembleRelease