使用apktool解压缩apk并重新打包

使用apktool解压缩apk并重新打包

最近项目中遇到了反编译相关的问题,所以就了解了一下apktool

环境

mac 12.6

安装apktool

apktool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,当然还有其他一些功能,咱就暂且不提了(主要我也没深入了解...)

下载地址

可以根据不同的操作系统按照页面介绍进行安装,我这里直接使用homebrew安装了

brew install apktool

在首次执行apktool命令的时候报错了 提示`@@HOMEBREW_JAVA@@/bin/java: No such file or directory似乎是没找到java

查询资料重新运行

HOMEBREW_BOTTLE_DOMAIN= brew reinstall apktool

安装成功之后执行apktool即可看到相关信息

反编译apk

执行命令

apktool d test.apk -o test
  • ddecode的简写

  • test.apk是当前要反编译的apk

  • -o--output的简写,代表输出路径

  • test是输出目录,就是解压缩之后到的目录

运行命令截图

成功之后会生成test文件夹,文件夹内就是apk反编译后的文件

注意事项:

  • 命令中不携带-o参数会直接在当前目录创建以apk名字为文件夹名的文件夹

  • 命令中可以携带-f或者--force参数 强制删除目标文件夹,比如说在上面的例子中我第二次执行

    apktool d test.apk -o test

    会报错(提示目标文件夹已经存在)

    可以根据说明执行

    apktool d -f test.apk -o test

    ,这样会先清空test文件夹然后在执行decode的过程

回编译apk

执行命令回编译apk

apktool b test

命令说明bbuild的简写

执行完成之后会在当前打包的文件夹生成一个dist文件夹,打包的apk就在里面

注意:这样打包出来的apk是不能安装的因为没有签名,如果想要使用的话还需要apk文件进行签名

参考资料

apktool官网

homebrew报错@@HOMEBREW_JAVA@@/bin/java: No such file or directory

homebrew报错@@HOMEBREW_JAVA@@/bin/java: No such file or directory

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值