美文网首页
Apktool 使用教程

Apktool 使用教程

作者: 打包仔 | 来源:发表于2020-03-16 16:01 被阅读0次

    Apktool 是一个反编译Android Apk的第三方工具。它可以反编译资源,并在进行修改之后重新打包Apk。

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

    1、安装 apktool

     注意:apktool 依赖 Java1.8。请使用 java -version 查看,是否为1.8或更高版本。

    主要的安装流程:

        1、下载运行脚本,根据不同平台保存为不同的名字。--- 运行脚本非必须,但可以避免一次次的重复敲 java -jar ...  来执行操作

        2、下载最新版本的 apktool.jar --- 下载后可能不叫这个名字,但是通过脚本运行的话,要求为这个名字,修改为这个就行

        3、将脚本和jar放到同一个目录下 --- 官方建议放到指定目录,我试过Windows和Mac,并不是一定要放到指定目录,也可以正常使用

        4、进入命令行,cd 到相应目录,执行命令

    官网安装教程 apktool目录

    2、手动build源码生成apktool

        apktool的官网上详细介绍了如何build源码生成apktool:Apktool - Build Guide

        apktool集合了几个子工程和依赖到一个工程中。其中包括:

    brut.apktool.lib - 主工程,主要逻辑代码

    brut.apktool.cli - 命令行接口工程

    brut.j.dir - 工具工程

    brut.j.util -工具工程

    brut.j.common -工具工程

        要求JDK8,git(不从github上clone代码则不需要git)

        build的步骤:

            1、clone或者下载代码

                git clone git://github.com/iBotPeaches/Apktool.git

            2、在命令行中,进行到项目根目录下,执行gradlew.bat脚本,其他基于unix的系统执行./gradlew

            3、打包shadowJar,此jar包会将依赖都打包进去。

                    gradlew.bat build shadowJar

            4、打包混淆过的jar

                    gradlew.bat build shadowJar proguard

            输出目录:./brut.apktool/apktool-cli/build/libs/apktool-xxxxx.jar

        特别注意:Windows平台下,目录深度不能超过255个字符。目前apktool项目最深目录达到218个字符!所以apktool根目录的存放路径不能超过37个字符!!!

    3、反编译apk

    反编译命令:apktool d apk路径

    执行过程中会输出主要步骤log

    反编译apk

    4、反编译结束后,反编译的内容均在目录下的 相应文件夹下 -- 文件夹名字与apk同名

    反编译成功

    5、重新打包

    假如你进行了修改,现在进行重新打包

    命令:apktool b 项目目录

    我们使用的就是上一步反编译后,生成的目录

    重新打包工程中,同样会输出主要步骤的log

    重新打包

    重新生成的apk位于目录中的 dist 目录下,如图

    重新生成的apk

    需要注意的是,重新生成的apk,是没有经过签名的,不能直接进行安装。关于apk的签名,这里不再赘述,自行百度,非常多。

    下一篇,详细聊聊,apktool的各种参数作用。最终会有 apktool 的源码解析。

    Apktool 参数详解 - 简书

    相关文章

      网友评论

          本文标题:Apktool 使用教程

          本文链接:https://www.haomeiwen.com/subject/pszgehtx.html