1.资源准备,如下图
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文件内容
::设置编码方式(65001 UTF-8;936 GBK;437 英语)
chcp 65001
::双冒号表示注释(setlocal enabledelayedexpansion是延迟变量赋值使用)
@echo off&setlocal enabledelayedexpansion
echo ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆==Start==☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
echo=
::APK加固后需要重新写入V2签名,采用免费的"易固V1.0"进行加固
::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
::找到当前目录(%~dp0)下所有apk文件
for %%i in (*.apk) do (
::打印签名信息
echo 签名文件路径=%~dp0%jksFile%
echo=
echo 签名Alias=%keyAlias%
echo KeyStore密码=%storePassword%
echo Alias对应密码=%keyPassword%
echo=
echo 原APK=%%~fi
echo 新APK=%~dp0%%~ni_signer.apk
::执行V2签名写入
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
::删除签名后生成的临时文件
if exist %~dp0%%~ni_signer.apk.idsig del %~dp0%%~ni_signer.apk.idsig
echo=
)
echo ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆==End==☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
pause