安卓中将Java文件转换成Dex文件
一、介绍
- 将Java文件转换成Class文件
- 将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文件获取就结束了。