[RK3288][Android6.0] Ubuntu下反编译apk得到源码和xml文件

Posted KrisFei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[RK3288][Android6.0] Ubuntu下反编译apk得到源码和xml文件相关的知识,希望对你有一定的参考价值。

Platform: RK3288
OS: android 6.0
Kernel: 3.10.92

背景:

需要了解RK的OTA机制,但sdk只提供了apk

因此需要反编译解包,要注意的是,如果apk在编译的时候经过了代码混淆,那么反编译出来的是乱码而无法查看的。


工具:

apktool: 反编译后可以查看res下的资源和布局文件,以及apk的AndroidManifest.xml文件
dex2jar: 要查看源码,需要先将apk转化成Jar文件
JD-GUI: 得到Jar文件之后,使用此工具直接可以查看源代码

jd-gui下载: https://download.csdn.net/download/kris_fei/10375837
apktool和dex2jar下载: https://download.csdn.net/download/kris_fei/10375855

如果apktool和dex2jar太旧,可以直接去apktool网站下载。

注意:
执行apktool 和 JD-GUI可能会遇到error,可参考:
[RK3288][Android6.0] 调试笔记 — 使用apktool出现AndrolibException
[RK3288][Android6.0] 调试笔记 — 执行gd-gui找不到libgtk-x11-2.0.so.0


获取xml文件:

kris@eco:~/Downloads/apktool$ ./apktool d RKUpdateService.apk

解析出来的AndroidManifest.xml

布局文件:


查看源代码:

先转换成jar文件:
./dex2jar/dex2jar.sh RKUpdateService.apk

用jd-gui查看:
kris@eco:~/Downloads/apktool$ ./jd-gui/jd-gui
打开jar包就可以查看了


参考:

如何反编译apk文件得到源码和XML文件
Ubuntu(Linux)/Windows下反编译apk

以上是关于[RK3288][Android6.0] Ubuntu下反编译apk得到源码和xml文件的主要内容,如果未能解决你的问题,请参考以下文章

[RK3288][Android6.0] 调试笔记 --- 替换系统签名

[RK3288][Android6.0] 调试笔记 --- pmu(rk818)寄存器读写

[RK3288][Android6.0] 调试笔记 --- hwclock命令无法使用

[RK3288][Android6.0] 调试笔记 --- /data/app/预置apk安装失败

[RK3288][Android6.0] 系统按键驱动流程分析

[RK3288][Android6.0] 调试笔记 --- 系统识别不同硬件版本方法