欢迎来到 Android人的问与答 ,在这里提问或帮助他人解答。 Question2Answer的1.6.x和1.7.x版本的中文翻译包我修改更新:

Question2answer

如何使用中文语言包

Q2A 1.6.x - Chinese Simplified (简体中文)

Q2A 1.7.x - Chinese Simplified (简体中文)


国内服务器推荐 阿里云服务器
国外服务器推荐 DigitalOcean
VPN推荐 正版Green VPN
阿里云推荐码:ldvq50

如何从Android的apk反编译出源代码

0 喜欢 0 不喜欢
571 浏览

反编译 .apk文件的步骤如下:
步骤1. 新建一个文件夹tmp,拷贝.apk文件到这个文件夹tmp。重命名.apk文件为.zip(例如:file.apk->file.zip)。我们主要先获取classes.dex文件等。但这一步只能看到drawables,不能看到xml和java文件。

 

步骤2:解压.zip文件到当前文件夹tmp。下载dex2jar文件,解压到当前目录。复制.zip解压后的文件夹内的classes.dex文件到dex2jar的同级文件夹下。打开命令行cmd,路径切换到dex2jar的文件夹。运行:d2j-dex2jar classes.dex 记得回车。然后就会在同级目录生成classes.dex.dex2jar文件。

然后去下载java的反编译器jd-gui,用jd-gui就能看class文件。使用jd-gui打开生成的classes.dex.dex2jar文件,就可以阅读class了。然后,在jd-gui中保存所有的这些class文件到命名为src的文件夹。这时候,你就获取到java的源码了,但.xml文件还是不可读不可用。

步骤3:新建另外一个文件夹tmp2,复制.apk文件到tmp2。然后,去下载最新版本的apktool工具。并存到tmp2文件夹。
下载framework-res.apk文件,并复制到相同的文件夹tmp2。不是每个apk都需要这个文件,但是以防万一嘛。
打开命令行,进入apktool的文件夹,

输入命令:

apktool if framework-res.apk 。

 

然后再执行命令:

apktool d myApp.apk

这个myApp.apk就是你需要反编译的apk。这样,就会生成可读的apk文件内的xml文件。

步骤4:
把res、src等生成出来的文件拷贝到同一个目录下,那么这个目录就是apk反编译后可以查看的源码工程了。

 

另,非windows操作系统下的话,原理差不多,只是需要执行*.sh文件而已。

 
最新提问 12月 31, 2014 分类:Android反编译 | 用户: forlong401 (7,050 分)

登录 或者 注册 后回答这个问题。

...