轉載請標註原創地址:https://blog.csdn.net/lsyz0021/article/details/96499543
GitHub地址 https://github.com/lsyz0021/androidSigner
一提到給apk簽名,大家或許想這還不簡單,打開終端配置好“apksigner”命令一行不就搞定了,但是如果讓你給100個apk簽名,這樣的簽名方式還簡單嗎?當然你可以使用簽名軟件,但是這樣你需要將密碼輸入軟件,會有密碼泄露的風險。
因爲最近有經常要給apk簽名的需要,並且有時候可能要同時給十幾個apk簽名,所以就想到了寫個批量v2簽名的shell腳本,寫完之後使用感覺起來感覺也特別方便。想到或許其他人也可能會有這種需求,於是將他開源出來供大家使用。廢話不多說先介紹功能!
特點:
1、一鍵批量簽名
2、可選配置項豐富
3、安全(擔心配置文件泄露密碼,密碼爲空即手動輸入,全部開源,不用擔心密碼被私自上傳)
4、長期維護
1、使用方式
#打開終端,克隆項目
git clone https://github.com/lsyz0021/androidSigner.git
#進入目錄
cd androidSigner
#運行腳本
./signer.sh
2、設置配置文件
signerConfig.ini
配置文件可以不使用,默認在當前目錄下搜索,這時就需要手動輸入所有的內容,並且不支持指定搜索目錄和輸出目錄。
這裏需要注意:由於apksigner
命令是在25.0.0版本纔出現的,所以buildTools
配置的build-tools版本至少要是25.0.0。
#簽名文件的位置
storeFile=./appkey.jks
#簽名文件的密碼
storePassword=123456
#key的別名
keyAlias=appkey
#key的密碼
keyPassword=12345678
#sdk中build-tools的路徑,apksigner命令25.0.0版本纔出現
buildTools=/Users/wuge/sdk/build-tools/29.0.0/
#是否自動搜索指定目錄,true:自動搜索,false:手動輸入,no:需要選擇獲取方式
auto=no
#是否重複簽名,已簽名的apk名字上會加個“signer-”,true:如果搜索到會對該apk再次簽名,false:不會再簽名
repeatSigner=false
#指定搜索的apk的關鍵字(支持通配符*)
searchKey=app-release*.apk
#指定搜索目錄,"."代表當前目錄,不設置此值默認爲當前目錄
searchPath=.
#指定輸出目錄,不設置默認爲當前目錄下的out目錄
outPath=./out
3、執行腳本,選擇“y”
配置好上面的內容之後,就可以執行signer.sh
腳本了。配置文件默認auto=no
,所以需要手動選擇輸入方式,下面是輸入的y
,開始在指定目錄(searchPath=.
表示當前目錄)下開始自動搜索所有的apk,並且進行簽名。
注意:如果auto=true
,相當於自動輸入了y
,就自動進行搜索指定目錄(searchPath=.
)下的apk
4、生成獲取簽名apk
執行完signer.sh
腳本,在指定的輸出目錄(outPath=./out
)下生成了簽名後的apk,每個簽名成功的apk名字前面都會增加"signer-"前綴。默認情況下如果搜索到以signer-開頭的apk不會重複簽名,如果想重複簽名則設置repeatSigner=true
5、執行腳本,選擇“n”
運行signer.sh
,我們輸入n
,這時就需要我們手動指定apk的路徑了
注意:如果auto=false
,相當於自動輸入了n
根據自己的需求配置signerConfig.ini
,即可靈活使用了。
6、不配置密碼
如果你擔心配置文件中的密碼被泄露,完全可以手動輸入,這樣很好的避免了密碼外泄。(甚至你都可以刪除配置文件)
配置文件中設置storePassword=
、keyPassword=
都是設置爲空,這樣就可以手動輸入密碼了。
7、刪除配置文件
如果你認爲使用配置文件太累贅,也可以刪除他,然後手動配置選項。
GitHub地址 https://github.com/lsyz0021/androidSigner