本篇是為了配合 安卓-maven 上傳
一 、環(huán)境
眾所周知 sonatype要求所有上傳的jar包 源代碼 doc都需要使用 gpg加密
因此我們需要一個(gè)GPG環(huán)境,用來對上傳的文件進(jìn)行加密和簽名,保證我們的jar包不被篡改
軟件包
1 安裝軟件包gpg4win
https://www.gpg4win.org/download.html
2 已安卓git 直接使用 Git Gui的git-bash.exe
cd C:\Program Files\Git 管理員身份運(yùn)行g(shù)it-bash.exe
二、命令
1 查看key列表
gpg --list-keys
結(jié)果如下 也可能沒有
gpglistkey.png
備注說明:
1 第一行 打開文件路徑
image.png
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
一步步操作
gpg--gen-key.png
image.png
注意:You need a Passphrase to protect your secret key.
在這里輸入的密碼secret,需要保存 后續(xù)上傳maven中央倉庫需要用到。
這樣一個(gè)key就產(chǎn)生了荔燎。
4 刪除key
刪除私鑰 (先刪除私鑰才可以刪除公鑰)
gpg --delete-secret-keys email1@qq.com
刪除公鑰
gpg --delete-key email@qq.com
5 導(dǎo)出key
導(dǎo)出私鑰
gpg --armor --output public.key --export uid
導(dǎo)出公鑰
gpg --armor --output private.key --export-secret-keys uid
6 生成文件
在當(dāng)前目錄下生成文件
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 在當(dāng)前module目錄下新建一個(gè)gradle.properties文件,內(nèi)容如下:
signing.keyId=public_key_id
signing.password=secret
signing.secretKeyRingFile=C\:\\Users\\xxx\\.gnupg\\secring.gpg
public_key_id ,secret 賦具體值即可