Android mac端实现加固包的批量签名脚本

2023-05-14  本文已影响0人  控尼基哇

Android mac端实现加固包的批量签名脚本

先上脚本

由于目前很多三方加固软件加固后的签名或者批量签名属于增值服务,所以单独弄个批量签名脚本很有必要,jarsigner和zipalign代码如下,可以直接复制粘贴到终端中,或者存储为sh文件,给该文件赋予运行权限后,以后直接拖该文件到终端命令中运行即可:

# 设置签名密钥库和密码
KEYSTORE_PATH="密钥路径.jks"
KEYSTORE_PASSWORD="密钥"
KEY_ALIAS="别名"
KEY_PASSWORD="密钥"

# 设置要签名的应用目录
APK_DIR="/Users/pang/Documents/打包签名相关/已加固未签名包"
# 设置要签名包的目标目录
destination_folder="/Users/pang/Documents/打包签名相关/批量签名包"
# 遍历指定目录下的所有 APK 文件
for apk_file in $APK_DIR/*.apk
do
    # 生成签名文件名
    signed_apk="${apk_file%.*}_signed.apk"
    
    # v2签名应用
    jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore $KEYSTORE_PATH -storepass $KEYSTORE_PASSWORD -keypass $KEY_PASSWORD -signedjar $signed_apk $apk_file $KEY_ALIAS
    
    # 对签名后的应用进行优化
    zipalign -v 4 $signed_apk "${signed_apk}_aligned"
    
    # 删除原始签名后的应用
    # rm $signed_apk
    
    # 重命名优化后的应用
    mv "${signed_apk}_aligned" $signed_apk
    
    # 将签名后的 APK 移动到指定文件夹
    mv "$signed_apk" "$destination_folder"
    echo "签名完成: $signed_apk"
done

可能会遇到的问题:

  1. 找不到jarsigner终端命令
  2. 找不到zipalign终端命令
  3. sh文件无运行权限

1.在Mac上添加jarsigner终端命令

在Mac上,你可以按照以下步骤添加jarsigner终端命令:

  1. 配置环境变量:为了能够在任意目录下使用jarsigner命令,你需要将JDK(Java Development Kit)的bin目录添加到系统的环境变量中。

    • 首先,使用以下命令编辑~/.bash_profile文件(如果该文件不存在,则创建它):

      nano ~/.bash_profile
      
    • 在打开的编辑器中,添加以下行:

      export PATH=/path/to/jdk/bin:$PATH
      

      /path/to/jdk替换为实际的JDK安装路径。

    • 按下Ctrl + X保存文件,然后按下Y确认保存,最后按下Enter退出编辑器。

  2. 刷新环境变量:在终端中运行以下命令,使刚才对~/.bash_profile所做的更改生效:

    source ~/.bash_profile
    
  3. 验证jarsigner命令:在终端中运行以下命令,检查jarsigner是否成功添加:

    jarsigner -version
    

2.在Mac上添加zipalign终端命令

  1. 确认Android SDK路径:首先,确认你已经安装了Android SDK,并记下其安装路径。

  2. 添加zipalign命令:在终端中输入以下命令,将zipalign命令添加到系统的环境变量中:

    echo 'export PATH="/path/to/android-sdk/build-tools/version/":$PATH' >> ~/.bash_profile
    

    /path/to/android-sdk替换为你的Android SDK安装路径,将version替换为适当的构建工具版本号。

  3. 刷新环境变量:在终端中运行以下命令,使刚才对~/.bash_profile所做的更改生效:

    source ~/.bash_profile
    
  4. 验证zipalign命令:在终端中运行以下命令,检查zipalign是否成功添加:

    zipalign -v
    

3.为sh文件添加权限

在Mac上,你可以使用以下命令为一个shell脚本文件(例如,demo.sh)添加执行权限,并且拖入到终端命令中即可:

chmod +x demo.sh
上一篇 下一篇

猜你喜欢

热点阅读