Gradle签名插件需要使用secring.gpg密钥环文件,根据文档:https://docs.gradle.org/current/userguide/signing_plugin.html。但是自从gpg 2.1版本以后,secring.gpg已经不存在了。https://www.gnupg.org/faq/whats-new-in-2.1.html。是否有可能使用Gradle签名插件与gpg >= 2.1一起使用?
我刚遇到了同样的问题,通过执行以下终端命令手动创建一个secring.gpg文件来解决:
gpg --keyring secring.gpg --export-secret-key XXXXXXXX > secring.gpg
您需要使用密钥的ID替换XXXXXXXX。您可以使用命令gpg --list-key
列出所有可用密钥。
编辑:我忘了提到,我正在使用Linux。
我也遇到了同样的问题,无法通过gpg --export-secret-key
解决,结果得到以下警告:
gpg: WARNING: nothing exported
实际上,我的gpg版本是1.4.xx(使用gpg --version
查看),还有一个叫做gpg2的版本。
因此,请尝试以下步骤:
gpg2 --export-secret-key XXXXXXXX > secring.gpg
gpg --export-secret-key XXXXXXXX > secring.gpg
,并且它对我起作用了。 - user861594如果您在2017年或之后遇到此问题,从Gradle 4.5开始,完全支持使用GnuPG 2(和gpg-agent)。来自签名插件文档的说明:
signing {
useGpgCmd()
sign configurations.archives
}
signing.gnupg.keyName
(很可能在~/.gradle/gradle.properties
中)。请注意,用于定义密钥(signing.gnupg.keyName
)、密钥库(signing.gnupg.homeDir
)、密码(signing.gnupg.passphrase
)等属性与先前Gradle版本中使用的不同(在signing.gnupg.*
而不仅仅是signing.*
中)。