本篇是为了配合 安卓-maven 上传
一 、环境
众所周知 sonatype要求所有上传的jar包 源代码 doc都需要使用 gpg加密
因此我们需要一个GPG环境,用来对上传的文件进行加密和签名,保证我们的jar包不被篡改
软件包
1 安装软件包gpg4win
https://www.gpg4win.org/download.html
2 已安卓git 直接使用 Git Gui的git-bash.exe
cd C:\Program Files\Git 管理员身份运行git-bash.exe
二、命令
1 查看key列表
gpg --list-keys
结果如下 也可能没有
备注说明:
1 第一行 打开文件路径
secring.gpg 文件路径(配置android studio gpg 签名会用到)
2 PUBLIC_KEY_ID
pub行 2048R 后面部分为公钥id (配置android studio gpg 签名会用到)
2 上传
上传key到keyserver
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys PUBLIC_KEY_ID
或
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys PUBLIC_KEY_ID
3 添加key
gpg --gen-key
一步步操作
注意:You need a Passphrase to protect your secret key.
在这里输入的密码secret,需要保存 后续上传maven中央仓库需要用到。
这样一个key就产生了。
4 删除key
删除私钥 (先删除私钥才可以删除公钥)
gpg --delete-secret-keys email1@qq.com
删除公钥
gpg --delete-key email@qq.com
5 导出key
导出私钥
gpg --armor --output public.key --export uid
导出公钥
gpg --armor --output private.key --export-secret-keys uid
6 生成文件
在当前目录下生成文件
gpg -a --export email@qq.com > public_key_sender.asc
gpg -a --export-secret-key email@qq.com > private_key_sender.asc
三、在android studio 中的gradle配置
1 maven_xxx.gradle
apply plugin: 'signing' //使用signing plugin做签名
....
signing {
sign configurations.archives
}
2 在当前module目录下新建一个gradle.properties文件,内容如下:
signing.keyId=public_key_id
signing.password=secret
signing.secretKeyRingFile=C\:\\Users\\xxx\\.gnupg\\secring.gpg
public_key_id ,secret 赋具体值即可