apktool使用注意事项

1、apktool的下载及安装

apktool是一个反编译apk文件的工具,可以在其官网查看介绍及下载。
下载下来的是一个jar包,需要在命令行中执行java -jar 指定apktool的jar包来运行。
但是经常用这个命令的情况下,不是很方便。故网上有博客(忘了是哪里看的了,感谢原作者)使用bat脚本包装了一下调用命令,代码如下:

@echo off
set PATH=%CD%;%PATH%;
java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9

需要注意的是,下载的apktool.jar文件名是否和脚本一致,同时要将jar包放在和脚本同一目录下。
如果经常使用,可以尝试将相关路径加入环境变量。 这样便可以在任意路径下调用了。

2、apktool的使用

apktool使用说明
通过查看命令说明,可以知道有两个常用的选项,一个是 apktool d 用来解码apk应用, 一个是apktool b 用来打包解码后的文件,输出apk文件 。注意两者都没有横杠。(这点与其他命令不一样,搞得我老是多打了一个横杠)

几点使用注意事项

  1. 在解码时,如果不带任何选项,源码及资源均会被反编译,并且其中的xml文件是可读状态的,此时可以修改xml及相关资源文件(可以通过apktool.yml修改应用的版本名及版本号等,修改AndroidManifest.xml文件等)。 最后再打包成apk文件。这种情况下,部分应用修改了xml后打包会报错(可能是应用做啥安全措施)。

  2. 针对如上方法报错的应用,可以尝试在解码时加入 -r 及 -s 选项,分别对应不解码资源及不解码源代码。但是此时解码后的文件均是二进制的,不方便修改。 此时可以尝试使用github上的AXMLEditor工具修改二进制文件。
    修改完成后,再打包。

  3. 如果上述方法有错,可以尝试将应用改成zip文件,在解压状态下查看里面的文件,直接用修改好的AndroidManifest文件替换。
    如果在最后的签名阶段也报错,可以尝试将META-INF文件夹删除后再加签。

  4. 签名最好使用apksigner命令,jarsigner命令有时会报错。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值