Apktool命令使用总结

本文介绍了如何使用apktool这个工具对APK进行解析、修改资源和代码,以及重新构建新APK。重点提及了在处理包含dex文件的assets目录时的注意事项,如需使用--only-main-classes参数。还提到了通过-r或--no-res参数来加速解析和构建过程,以及-s或--no-src来忽略源码和资源文件。
摘要由CSDN通过智能技术生成
  • apktool 是一个功能非常强大的工具,一般我们可以用它来对apk包进行解析,再修改一些资源文件或者加入自己的代码后再重新构建新的apk。部分游戏的渠道发行方都会使用apktool来重新二次打包签名再发布游戏,这里我总结记录其经常使用的部分。
  • 要使用apktool首先需要去其官网下载apktool的工具包,下面贴上官网地址:

Apktool - A tool for reverse engineering 3rd party, closed, binary Android apps.

  • apktool的使用文档地址:

Apktool - Documentation

  • 我们将下载好的jar文件放置一个目录里面,然后执行cmd命令,使用apktool -help 命令可以看到相关的命令参数说明,执行命令之前需要配置好java环境变量

G:\workspace\apktool2.6.1>java -jar apktool_2.6.1.jar -help
Unrecognized option: -help
Apktool v2.6.1 - a tool for reengineering Android apk files
with smali v2.5.2 and baksmali v2.5.2
Copyright 2010 Ryszard Wi?niewski <brut.alll@gmail.com>
Copyright 2010 Connor Tumbleson <connor.tumbleson@gmail.com>

usage: apktool
 -advance,--advanced   prints advance information.
 -version,--version    prints the version then exits
usage: apktool if|install-framework [options] <framework.apk>
 -p,--frame-path <dir>   Stores framework files into <dir>.
 -t,--tag <tag>          Tag frameworks using <tag>.
usage: apktool d[ecode] [options] <file_apk>
 -f,--force              Force delete destination directory.
 -o,--output <dir>       The name of folder that gets written. Default is apk.out
 -p,--frame-path <dir>   Uses framework files located in <dir>.
 -r,--no-res             Do not decode resources.
 -s,--no-src             Do not decode sources.
 -t,--frame-tag <tag>    Uses framework files tagged by <tag>.
usage: apktool b[uild] [options] <app_path>
 -f,--force-all          Skip changes detection and build all files.
 -o,--output <dir>       The name of apk that gets written. Default is dist/name.apk
 -p,--frame-path <dir>   Uses framework files located in <dir>.

For additional info, see: https://ibotpeaches.github.io/Apktool/
For smali/baksmali info, see: https://github.com/JesusFreke/smali

  • 如果我们apk包的assets文件下面包含有dex文件的话,在执行解析命令的时候需要加上--only-main-classes 参数,否则会解析失败的,如果你使用了MSA(移动安全联盟统一SDK)来获取oaid,应该会遇到这个问题,因为里面肯含有assets/A3AEECD8.dex、assets/39285EFA.dex文件
  • 如果我们想加速解析和重新构建的速度也可以加上-r或者--no-res ,这样就不会解析资源文件resources.arsc了,加上 -s或者--no-src这样就不会解析classes.dex,classes2.dex等代码文件了
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!APKTool是一个用于反编译和重新编译Android应用程序的开源工具。下面是APKTool的安装和使用教程: 1. 安装Java Development Kit (JDK):首先,确保你的计算机上已经安装了JDK。你可以从Oracle官方网站下载并安装适合你操作系统的JDK版本。 2. 下载APKTool:在你的计算机上下载APKTool的最新版本。你可以在APKTool的官方GitHub页面上找到下载链接。 3. 配置环境变量:将APKTool的路径添加到系统的环境变量中,这样你就可以在任何位置使用APKTool命令。 4. 打开命令行界面:打开命令行界面(Windows用户可以使用cmd,Mac和Linux用户可以使用终端)。 5. 反编译APK文件:在命令行界面中,使用以下命令来反编译一个APK文件: ``` apktool d <apk文件路径> ``` 这将会将APK文件解压到当前目录下的一个新文件夹中。 6. 修改应用程序:在反编译后的文件夹中,你可以修改应用程序的资源文件、布局文件、代码等。 7. 重新编译APK文件:完成对应用程序的修改后,使用以下命令来重新编译APK文件: ``` apktool b <反编译后的文件夹路径> ``` 这将会生成一个重新编译后的APK文件。 8. 签名APK文件:重新编译后的APK文件需要进行签名才能在设备上安装和运行。你可以使用Android SDK中的`jarsigner`工具来签名APK文件。 以上就是APKTool的安装和使用教程。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值