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 配置 )

Android简单的打包配置

在 Gradle 产品风味上调试签名配置

Android Gradle 签名配置和依赖管理