Shell腳本自動化批量v2簽名Android apk (by 星空武哥)

轉載請標註原創地址: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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章