> 文档中心 > 安卓中将Java文件转换成Dex文件

安卓中将Java文件转换成Dex文件


一、介绍

        Java文件转换成Dex文件的过程总共有两步,如下

  1. 将Java文件转换成Class文件
  2. 将Class转换成Dex文件

下面我们分别来看看如何生成。

二、Java >> Class

        在安卓中,获取Class文件的方法非常简单,写完代码后,将项目Make Project。
例如:BootstrapClass.java 文件

 点击Make Project,如下:

 然后在 build/intermediates/javac/debug/classes/com/example/viewdemo/BootstrapClass.class中就可以找到对应的Class文件

当然,也可以通过命令行的方式,但是这种只能使用在不包含Android类的文件中(如果可以,请评论告诉我😀)。不然转换成Class文件时就会报错,如下:

如果你是一个简单的Java文件,那么就能使用Javac命令来转换,例如:

创建一个Simple.java文件

public class Simple {    public static void main(String[] args) { System.out.printf("hello");    }}

到文件的目录下使用javac命令,如下:

javac Simple.java

同个路径下就会多出一个Simple.class文件 

有了class文件后就可以进入下一步,转换成Dex文件。

三、Class >> Dex

将class转换成Dex需要使用Android SDK 提供的Dx工具

 点击进去,如果有多个版本的话,随机选择一个即可。

 dx命令使用

  • xxx.dex 就是生成的路径
  • xxx.class 就是你需要转换的Class路径
dx --dex --output=xxx.dex xxx.class

命令如下:

注意!:Class文件的路径要包含包名路径,也就是com.example.viewdemo,不然转换时会报包名不匹配。

dx --dex --output=Hello.dex D:\20210426\code\otherCode\ViewDemo\app\build\intermediates\javac\debug\classes\

同个路径下就会多出Hello.dex文件。 如下:

 到此,dex文件获取就结束了。