背景
我们写完代码就要发布我们的 APP 了,Android 要求所有应用都有一个数字签名才会被允许安装在用户手机上,所以在把应用发布到应用市场之前,你需要先生成一个签名的 AAB 或 APK 包(Google Play 现在要求 AAB 格式,而国内的应用市场目前仅支持 APK 格式。但无论哪种格式,下面的签名步骤是一样的)。
步骤
1、生成一个签名密钥
cd 项目/android/app
# 生成的文件名:my-release-key.keystore
# 别名:my-key-alias,将来为应用签名时所需要用到的
# 以上两个可以自己更改
$ keytool -genkeypair -v -storetype PKCS12 -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 1000
会在改目录下生成一个 rf-release-key.keystore
2、设置 gradle 变量
编辑项目目录 /android/gradle.properties
,添加如下代码
MYAPP_RELEASE_STORE_FILE=rf-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=rf-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****
3、把签名配置加入到项目的 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
}
}
}
...
4、生成发行 APK 包
$ cd android
# 执行当前目录下的名为 gradlew 的脚本文件,且其运行参数为 assembleRelease
$ ./gradlew assembleRelease
打包大概3分钟
生成的 APK 文件位于 android/app/build/outputs/apk/release/app-release.apk
,它已经可以用来发布了。
最后
由于安卓的应用平台比较多而且杂,如果你想把包发布到各个平台就得去看各个平台的文档然后去对接了