@echo off
setlocal enabledelayedexpansion
set KEYSTORE_PATH=*.jks
set KEYSTORE_PASSWORD=*
set KEY_ALIAS=*
set KEY_PASSWORD=*
set OUTPUT_DIR=%cd%\out
set UNSIGNED_DIR=%cd%\unsigned
REM 设置加固工具的路径和密钥
set APKPROTECT_PATH="apkprotect"
set AKEY=替换成你的
set SKEY=替换成你的
REM 创建unsigned目录(如果不存在)
mkdir unsigned
rem Delete .idsig files
for %%F in ("%UNSIGNED_DIR%\*.apk") do (
del /Q "%%F"
)
REM 加固当前目录下的所有APK
for %%F in (*.apk) do (
REM 提取文件名(不包含扩展名)
echo %%F
REM 执行加固命令
%APKPROTECT_PATH% -akey %AKEY% -skey=%SKEY% -i "%%F" -o "unsigned\%%F"
)
REM 清空out目录(如果存在)
rd /s /q out
mkdir out
REM 对unsigned目录中的APK文件进行签名
for %%F in (unsigned\*.apk) do (
REM 提取文件名(不包含路径和扩展名)
echo Signing file: %%F
REM 执行签名命令
call "%ANDROID_SDK_ROOT%\build-tools\30.0.3\apksigner.bat" sign --ks "%KEYSTORE_PATH%" --ks-pass pass:%KEYSTORE_PASSWORD% --key-pass pass:%KEY_PASSWORD% --out "%OUTPUT_DIR%\%%~nF_signed.apk" "%%F"
)
rem Delete .idsig files
for %%F in ("%OUTPUT_DIR%\*.idsig") do (
del /Q "%%F"
)
echo Signing completed.
endlocal
下载apkprotect.exe 跟本脚本命名为baidu_jiagu.bat 放置于相同目录 需要加固的apk也放到当前目录 双击运行baidu_jiagu.bat 等待加固完成 生成加固并签名好的apk在out目录
ANDROID_SDK_ROOT 即系统环境sdk工具变量如图
目录结构如下,简单明了