一、Apktool通用命令
1、查看apktool 当前版本
-version ,–version
apktool --version
2、详细输出apktool 命令,该参数必须作为第一个参数
-v,–verbose
apktool -v
3、静默输出,即输出是不显示详细信息,该参数必须作为第一个参数
-q,–quiet
apktool -q
4、命令行每一步操作前,打印详细信息
-advance,–advanced
apktool -advance
二、反编译(Decode)时所有命令选项
1、生成所用smali文件的api等级(默认为 targetSdkVersion)
-api,–api-level
apktool d -api 21 C:\Users\Administrator\Desktop\test.apk
2、防止baksmali打印出调试信息
-b ,–no–debug-info
apktool d -b C:\Users\Administrator\Desktop\test.apk
3、强制删除目标文件目录,执行反编译命令时,强制覆盖存在。
-f, --force
apktool d -f C:\Users\Administrator\Desktop\test.apk
4、强制反编译AndroidManifest.xml文件 (v2.3.1新增)
–force-manifest
apktool d --force-manifest C:\Users\Administrator\Desktop\test.apk
5、如果出现"Invalid Config Flags Detected. Dropping Resources…" 错误,你可以添加此命令,可以跳过此错误,但后续你需要手动修复这些错误。
–keep-broken-res
apktool d --keep-broken-res C:\Users\Administrator\Desktop\test.apk
6、将各文件处理为最接近原生的形式,将会导致不能备重新打包。
-m ,–match-original
apktool d -m C:\Users\Administrator\Desktop\test.apk
7、不处理和拷贝属于 unknown 的资源文件
–no-assets
apktool d --no-assets C:\Users\Administrator\Desktop\test.apk
8、将反编译后的文件写入到指定的文件路径下(这个命令比较常用)
-o, --output
apktool d -f C:\Users\Administrator\Desktop\test.apk -o C:\Users\Administrator\Desktop\decode
9、反编译根目录中的dex文件(v2.4.1新增)
–only-main-classes
apktool d --only-main-classes C:\Users\Administrator\Desktop\test.apk
10、指定framework文件储存的位置。
-p, --frame-path
11、不反编译资源,保留 resources.arsc 为原来的样子,如果你只是需要修改代码,此配置会加快反编译和重新打包的速度。
-r, --no-res
apktool d -r C:\Users\Administrator\Desktop\test.apk
12、不反编译代码,即不处理 dex文件。如果你只是需要修改资源,此配置会加快反编译和重新打包的速度。
-s, --no-src
apktool d -s C:\Users\Administrator\Desktop\test.apk
13、给生成的framework文件打上标识
-t, --frame-tag
二、回编(Rebuild)时所有命令
1、从指定的路径加载aapt,指定目录未找到aapt时,会使用apktool自带的aapt进行处理。
-a, --aapt
apktool b -a C:\Windows\System32\aapt.exe C:\Users\Administrator\Desktop\test
2、要建立的smali文件的数字api级别(默认为minSdkVersion) -v2.4.0添加
-api, --api-level
apktool b -api 10 C:\Users\Administrator\Desktop\test
3、复制原始的AndroidManifest.xml 和 META-INF文件到内置的apk中 (v2.5.0-将弃用)
-c, --copy-origina
apktool b -c C:\Users\Administrator\Desktop\test
4、添加debuggable="true"到AndroidManifest文件。
-d ,–debug
apktool b -d C:\Users\Administrator\Desktop\test
5、回编时候强制覆盖存在的文件
-f ,–force-all
apktool b -f C:\Users\Administrator\Desktop\test
6、回编时禁止对资源文件进行处理 (v2.4.0新增)
-nc ,–no-crunch
apktool b -nc C:\Users\Administrator\Desktop\test
7、回编时指定生成apk生成路径
-o ,–output
apktool b C:\Users\Administrator\Desktop\test -o C:\Users\Administrator\Desktop\test_unsigned.apk
8、从指定位置加载 framework的路径
-p ,–frame-path
9、使用aapt2进行回编打包(v2.3.2版本新增)文章来源:https://www.toymoban.com/news/detail-541859.html
–use-aapt2文章来源地址https://www.toymoban.com/news/detail-541859.html
apktool b C:\Users\Administrator\Desktop\test --use-aapt2
到了这里,关于apktool编译和反编译的(实用、常用)命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!