用apktool工具反编译apk后怎么得到源码?
问:用apktool工具反编译apk后怎么得到源码?
答:一、工具准备:apktool , dex2jar , jd-gui
二、使用dex2jar + jd-gui 得到apk的java源码
1.用解压工具从apk包中取出classes.dex文件
用命令(dex2jar.bat classes.dex)得到一个 jar文件
2.用jd-gui反编译工具将得到.jar文件反编译成.java文件
三、使用apktool得到apk的xml文件
1.用命令(apktool d xxx.apk xxx_xml)反编译xxx.apk包
2.从 xxx_xml 文件夹得到xml文件
四、第二步 得到的程序源代码 和 第三步 得到的xml文件组合下,即可得到完整的apk源码。
五、应用: 汉化/去广告,加 values-zh-rCN, values-zh-rTW, values-de, values-fr
1.在步骤三的文件夹xxx_xml/res/ 下, 建文件夹: values-zh-rCN,values-zh-rTW
2.1复制valuesstrings.xml 到 values-zh-rCN 并翻译.
2.2 去广告见;
3.重建APK,用命令(apktool b xxx) ,输出到ABC/dist/out.apk
或命令( apktool b xxx out.apk)
六、重新打包和签名
问:如何利用apktool(APK反编译工具)反编译apk?
答:下载apktool所需文件:
解压刚刚下载的文件,并将解压的文件放入zhuanC:Windows目录下
启动控制台,输入apktool,回shu车可查看到apktool工具常用指令,如图
新建一个文件夹,用于存放apk及待解压的文件,这里笔者将文件夹建在D:apk目录,同时放入用于测试的android app包(test.apk)
控制台输入:apktool d D:apktest.apk D:apktest 进行反编译操作
中句话中“D:apktest.apk”指apk存放位置,“D:apktest”指反编译后文件存放的位置
反编译成功之后,进入D:apktest文件目录可以查看到反编译后的文件