linux下使用apktool反编译安卓apk。
下载安装apktool,请参照下图中的链接地址中apktool的官方安装文档下载和安装,我用的ubuntu中apt-get源安卓的,不行,反编译报错,可能因为不是最新版本的,所以建议使用官方文档的方法安装。
打开终端
创建工作目录切换到工作目录,目录名可根据自己的爱好定,这里只是举例。
mkdir workspace
将你想要反编译的apk文件复制到工作目录,我这里是test.apk,在"~/Download/"目录下。
cp ~/Download/test.apk ./
有些apk需要framework-res.apk的支持,这个应该是系统apk的resource包,如果没有这个文件,反编译和回编译的时候会报错,我的就是在回编的时候报错,大概意思是缺少某些resource,所以将安卓ROM中的framework-res.apk复制到工作目录,framework-res.apk在ROM中的"/system/framework/"目录中,我这里已经将它提取到"~/Download/"目录。
cp ~/Download/framework-res.apk ./
解决failed on '' - Cross-device link方法:http://www.linuxdiyf.com/linux/28220.html
加载framework-res.apk
apktool if framework-res.apk
现在可以反编译apk了,反编译后会自动生成一个与apk同名的目录,这里是test目录,至此,反编译后的apk文件就都在test目录中了,如图中所示。
apktool d test.apk
对你要修改的文件进行修改后,就可以将test中的文件回编译成apk文件了。
apktool b test
生成的新的apk文件在"test/dist/"目录下,文件名是test.apk