android sdk目录下的build-tools选择一个版本(如:D:\ProgramFiles\Sdk\build-tools\28.0.2),找到dx.bat文件,
2.通过命令行:cmd进入dx.bat工具目录,输入编译命令 :
dx --dex --output=目录1 目录2
注:目录1:最后dex文件生成的路径;目录2:class文件所在的路径(只需要定位到包名的根路径即可)
如上图class所在地址,目录2只需要定位到\classes就可以了(如果单独把class文件拷贝到空目录,记得自己创建它的完整包名路径)。
备注:如只需要将其中的某个class打包成dex文件,目录2需要定位到
具体包名下的class文件(如:\classes\com\enjoy\plugin\xxx.class)
(自我记录下...)
一、找到apk中的class.dex:把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的。
1、把class.dex拷贝到dex2jar.bat所在目录,直接拖动class.dex到dex2jar.bat,生成classes.dex.dex2jar.jar。
或者:1.在cmd下进入dex2jar.bat所在路径,然后输入“dex2jar.bat XXX”,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路径下, classes.dex在D:\Android下,所以: 你进入dex2jar.bat路径下后,输入dex2jar.bat D:\Android\classes.dex,这样会生成一个jar文件。
2.用rar解压出jar文件中的class文件,然后用jad或DJ Java Decompiler反编译工具将.class文件反编译成.java文件
3、运行JD-GUI工具,打开上面的jar文件,在File下有个Save JAR Source,它可以生成src源代码。
Java 文件 ----- - 应用程序源文件android 本身相当一部分都是用 java 编写而成 ( 基本上架构图里头蓝色的部份都是用
Java 开发的 ) , android 的应用必须使用 java 来开发。
Class 文件 ------Java 编译后的目标文件
不像 J2se , java 编译成 class 就可以直接运行, android 平台上 class 文件不能直接
在 android 上运行。由于 Google 使用了自己的 Dalvik 来运行应用,所以这里的 class 也
肯定不能在 AndroidDalvik 的 java 环境中运行, android 的 class 文件实际上只是编译
过程中的中间目标文件,需要链接成 dex 文件后才能在 dalvik 上运行。
Dex 文件-----Android 平台上的可执行文件
Android 虚拟机 Dalvik 支持的字节码文件格式 Google 在新发布的 Android 平台上使用
了自己的 Dalvik 虚拟机来定义,这种虚拟机执行的并非Java 字节码,而是另一种字节码:
dex 格式的字节码。在编译 Java 代码之 后 ,通过 Android 平台上的工具可以将 Java 字
节码转换成 Dex 字节码。虽然 Google 称 Dalvik 是为了移动设备定做的,但是业界很多人
认为这是为了规避向 sun 申请 Javalicense 。这个 DalvikVM 针对手机程式 /CPU 做过 最
佳化,可以同时执行许多 VM 而不会占用太多 Resource 。
Apk 文件 -Android 上的安装文件
Apk 是 Android 安装包的扩展名,一个 Android 安装包包含了与某个 Android 应用程序相
关的所有文件。 apk 文件将 AndroidManifest.xml 文件、应用程序代码 (.dex 文件 ) 、
资源文件和其他文件打成一个压缩包。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)