1.資源準(zhǔn)備,如下圖
a)apksigner.jar 在SDK目錄下有,如E:\01StudioAndEclipseSdk\build-tools\30.0.3\lib\apksigner.jar
b)xx.jks APK的簽名文件
c)加固(易固)后的APK安裝包
d)bat批量簽名工具

image.png
2.bat文件內(nèi)容
::設(shè)置編碼方式(65001 UTF-8;936 GBK;437 英語(yǔ))
chcp 65001
::雙冒號(hào)表示注釋(setlocal enabledelayedexpansion是延遲變量賦值使用)
@echo off&setlocal enabledelayedexpansion
echo ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆==Start==☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
echo=
::APK加固后需要重新寫(xiě)入V2簽名,采用免費(fèi)的"易固V1.0"進(jìn)行加固
::apksigner.jar文件在SDK目錄下,如E:\01StudioAndEclipseSdk\build-tools\30.0.3\lib\apksigner.jar
::簽名文件信息,參考https://www.it610.com/article/1291216346465509376.htm
set jksFile=com_ab.jks
set keyAlias=com_cc
set storePassword=com_cc
set keyPassword=com_cc
::找到當(dāng)前目錄(%~dp0)下所有apk文件
for %%i in (*.apk) do (
::打印簽名信息
echo 簽名文件路徑=%~dp0%jksFile%
echo=
echo 簽名Alias=%keyAlias%
echo KeyStore密碼=%storePassword%
echo Alias對(duì)應(yīng)密碼=%keyPassword%
echo=
echo 原APK=%%~fi
echo 新APK=%~dp0%%~ni_signer.apk
::執(zhí)行V2簽名寫(xiě)入
java -jar apksigner.jar sign --ks %jksFile% --ks-key-alias %keyAlias% --ks-pass pass:%storePassword% --key-pass pass:%keyPassword% --out %~dp0%%~ni_signer.apk %%~fi
::刪除簽名后生成的臨時(shí)文件
if exist %~dp0%%~ni_signer.apk.idsig del %~dp0%%~ni_signer.apk.idsig
echo=
)
echo ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆==End==☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
pause