本文主要是介绍java打包dex_将jar文件与dex文件的转换 . | 学步园,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、dex文件转为jar文件
1.第一篇
Android 反编译资料整理
Made by 李文栋 rayleeya@gmail.com
2010-12-13 Monday 于北京
一、反编译流程图
二、工具使用方法(命令)
准备工作
假设我的工作目录为 $AndroidDecompile,首先要将system.img中(或者说从源码中编译好的)几个重要的odex文件拷贝到工作目录中,他们是:core.odex, ext.odex, framework.odex, android.policy.odex, services.odex(也可以放在别的目录,通过设置BOOTCLASSPATH指定,默认就是当前目录,关于BOOTCLASSPATH请参考baksmali的帮助信息)。
下载以下工具到 $AndroidDecompile中:
Baksmali :
Smali :
Dex2jar :
JD-GUI (Java Decompile GUI) :
http://java.decompiler.free.fr/?q=jdgui
AutoSign :
Apktool
假设我们有一个应用,它的类文件编译后被单独拿了出来,即有两个文件app.apk和app.odex,把他们放在$AndroidDecompile下。
1. 使用 baksmali.jar 将 odex 文件分解为 smali 文件
$ java –jar baksmali-1.2.5.jar –x app.odex
如果成功的话,会在 $AndroidDecompile下生成一个 out目录,里面是一些以“.smali”为后缀名的文件,在此不深究这些文件的作用。
2. 使用 smali.jar将 out/目录下的smali文件转换为 classes.dex
$ java -Xmx512M –jar smali-1.2.5.jar out –o classes.dex
classes.dex便是Dalvik VM所使用的编译后的类文件格式,在正常的apk文件里都会有。
3. 使用 dex2jar将classes.dex反编译为jar文件
将下载后的dex2jar压缩包解压后,里面会有dex2jar.sh(和dex2jar.bat)文件,假如classes.dex文件与dex2jar.sh在同一目录下,使用以下方式将classes.dex反编译为jar文件:
$dex2jar.sh classes.dex
如果执行成功,则会在当前目录下生成反编译后的文件classes.dex.dex2jar.jar。
dex2jar即可以操作dex文件,也可以直接操作apk文件&#x
这篇关于java打包dex_将jar文件与dex文件的转换 . | 学步园的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!