Gradle 签名的配置文件 gradle.properties
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle 签名的配置文件 gradle.properties相关的知识,希望对你有一定的参考价值。
参考技术A 在对包进行签名之前,需要在 gradle.properties 配置文件中添加一些参数。参数的内容如下:
signing.keyId=YourKeyIdsigning.password=YourPublicKeyPasswordsigning.secretKeyRingFile=PathToYourKeyRingFileossrhUsername=your-jira-idossrhPassword=your-jira-password
signing.keyId
signing.keyId 为你在 Kleopatra 选择 Key 的 ID。
这里有一个坑就是这个 ID 的长度只能是 8 位。
在你的命令行工具中运行:
gpg --list-keys --keyid-formatshort
你能看到所有你计算机中的 key,这个 key 只能取最后 8 位,否则你将会看到签名的错误信息。
signing.password
这个是你在创建 key 的时候使用的密码,在这里是保存为明码的。
你需要讲这个密码填写到这个参数中。
signing.secretKeyRingFile
这个应该是让很多人很困惑的地方。secretKeyRingFile 是什么东西?其实就是你 gpg key 的 secret。
在 Kleopatra 中选择你需要导出的 key,然后右键选择back up secret。
在弹出的对话框中,修改后缀名为 gpg。
然后修改 signing.secretKeyRingFile 参数为绝对路径指向到这个具体的文件(不是目录)。
例如,我们的这里的参数配置就是:
signing.secretKeyRingFile=C:/Users/yhu/.gnupg/HoneyMoose.gpg
仓库用户名和密码
至于后面的 2 个参数就比较简单了,就是你中央仓库上传需要使用的用户名和密码。
上面的参数是非常重要的,主要是签名用的。
https://www.ossez.com/t/gradle-gradle-properties/791
Android简单的打包配置
参考技术A 在android studio中的打包,通常使用以下两个选项之一,两个方式都可以构建出apk包这两个有什么区别?
概括一句话:根据gradle中现有的签名配置进行自动签名打包
通常debug和dev环境是系统自行配置的debug-sing签名,不需要手动进行配置,但是release环境是对外发布的环境,必须要求手动在gradle中进行签名配置才可以打包(后边说)
所以在gradle配置好了签名的情况下,直接点击 Build APK(s) 就可以进行打包
一句话概括:通过手动选择签名文件进行签名打包
这种方式则不需要在gradle中进行配置,直接选择你已经创建好的签名文件,输入对应的密码等信息,就可以进行打包
然后就可以进行打包了
debug 和 dev 等测试/开发环境 因为系统自动配置了debug-sing 可以直接使用 Build APK(s) 进行打包。
但是release环境需要对外发布,所以需要手动在gradle中进行签名配置才可以使用 Build APK(s) ,或着自己选择 Generate Signed Bundle or APK 通过签名文件进行打包(效果和gradle中配置好了签名文件完全相同)
那么就有以下两个问题:
在 Generate Signed Bundle or APK 中选择 Create new ...
在module的gradle.android中输入:
然后在配置环境的buildTypes中,想使用 signingConfigs 签名配置的环境加上一句话: signingConfig signingConfigs.release
这样,就在gradle中配置好了签名,可以直接使用 Build APK(s) 进行打包
注意这里的 minifyEnabled true 也就是要使用混淆文件(一般测试环境为false 编译更快)。如果release环境打包,没有配置好混淆文件的话,会导致apk安装之后,秒退。(如果没有签名强行打包,则无法安装)
以上是关于Gradle 签名的配置文件 gradle.properties的主要内容,如果未能解决你的问题,请参考以下文章
AndroidStudio配置gradle,让App自动签名
配置文件或调试 APK:生成签名的 Bundle 需要您将 Android Gradle 插件更新到版本 3.2.0
Android Gradle 插件SigningConfig 签名配置 ① ( SigningConfig 签名配置位置 | storeFile 配置 | storePassword 配置 )