React Native | android应用签名、打包发布google play
RN官方网站安卓打包基于命令行生成签名密钥,打包等过程不仅经常报乱七八糟的错误,而且打包时间非常非常长,实践证明,最优方案得选android studio。(下面的操作大多是参考android开发者官网)
Android 开发者官网
为新应用签名并将其发布到 Google Play 时可能需要采取的步骤
- 菜单栏中,依次点击 Build > Generate Signed Bundle/APK > create new
- 除了密钥库的保存路径( 可将生成的路径指向项目内,如下图 )和密码需要自定义
2、创建signing.properties文件,并放到项目对应目录下
-
signing.properties:也就是用于存储签名配置文本文件,里面的内容也就是上一步创建的密钥库对应的密码等信息
-
安全起见,记得在.gitignore添加,不要把密码这些配置信息上传。。。
3、把签名配置加入到项目的 gradle 配置中
-
android/app/build.gradle,添加如下的签名配置
// 导入属性文件 def signingPropertiesFile = rootProject.file("signing.properties") def signingProperties = new Properties() if (signingPropertiesFile.exists()) { signingProperties.load(new FileInputStream(signingPropertiesFile)) } android { ... defaultConfig { ... } signingConfigs { release { if (signingPropertiesFile.exists()) { keyAlias signingProperties['keyAlias'] keyPassword signingProperties['keyPassword'] storeFile file(signingProperties['storeFile']) storePassword signingProperties['storePassword'] } } } buildTypes { release { ... signingConfig signingConfigs.release } } }
4、打包
-
根据需求生成对应的包格式
-
Google Play 现在要求 AAB 格式,而国内的应用市场目前仅支持 APK 格式
-
如果发现打的包是debug包,请调下这个配置
5、登录google play 管理中心,填写信息( 将google play设置为中文版本)
- versionCode为整数值,且不能重复,类似索引的感觉,不改的话上传包的时候会拦截
- 安卓机需要必备google play环境且翻墙状态下才能下载走内部测试环境下载对应包
解惑
1、 Build > Generate Signed Bundle/APK为应用签名
-
上面步骤没有走这步的原因是已在步骤2,3配置,达到在构建流程中为应用的发布版本自动签名。
辅助技能
1、更改包名称
- google play 不同项目不允许包名称一致
- 如果遇到这个报错:compileSdkVersion is not specified. Please add it to build.gradle,更改值重新编译