第三方APK解包再打包
文章目录
前言
网上有找到相关的文章介绍,但要么不适用Android 11平台,要么只讲个别步骤。一通学习和实践后,将所有步骤整理一下,供参考。
平台环境
- 运行平台:Android 11
- 开发环境:
– Windows 11
– Java 11
– Android Studio Iguana | 2023.2.1 Patch 1
准备工作
1. 解包打包工具apktool
到官网下载工具包和执行脚本,官网有详细的步骤说明:
https://apktool.org/docs/install
提示:脚本有可能需要翻墙才能下载
2. 对齐工具zipalign和签名工具apksigner
Android Studio有这两个工具,以下是我的路径,供参考:
C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\33.0.0
为方便后续操作,建议将上述路径配置为系统环境变量
- 调出控制面板,进入“系统”界面: 控制面板\系统和安全\系统
- 选择“高级系统设置”,点击“环境变量”按钮
- 点击“系统变量”下的“新建”按钮,将路径输入进去后点击“确定”按钮
- 双击“Path”变量,点击“新建”按钮,将上面新增加的变量名前面加%添加到Path变量中
3. 生成签名文件工具keytool
Java JDK有这个工具,如果之前有配置过JAVA_HOME环境变量,则不需要额外配置,否则则按上面的方法,配置一次JAVA_HOME环境变量,以下是我的路径,供参考:
C:\Program Files\Eclipse Foundation\jdk-11.0.12.7-hotspot\bin
实操
调出cmd.exe,整个实操都是基于它来操作
生成签名文件
提示:如果cmd下是乱码,可以改用Windows PowerShell
keytool -genkey -alias keyname -keyalg RSA -validity 20000 -keystore keyfilename.keystore
输入密钥库口令,并且要记住它,后面签名的时候要用到
解包APK
apktool d path_to_your_apk.apk
打包APK
apktool b path_to_your_apk path_to_your_new_apk.apk
对齐
zipalign -v 4 path_to_your_new_apk.apk path_to_your_aligned_apk.apk
签名
apksigner.bat sign --ks keyfilename.keystore --ks-key-alias keyname path_to_your_aligned_apk.apk
提示:据说从Android 7.0开始,APK签名要求是用APK Signature,之前的版本则是用的Java Signature,仅供参考
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore keyfilename.keystore path_to_your_aligned_apk.apk keyname