当前位置:   article > 正文

apktool编译和反编译的(实用、常用)命令

apktool

一、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版本新增)

–use-aapt2

apktool    b     C:\Users\Administrator\Desktop\test   --use-aapt2

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/447187
推荐阅读
相关标签
  

闽ICP备14008679号