前言java
用dx生成dex时遇到class name (Hello) does not match path这个问题还弄了挺久,这里就简单的记录一下。工具
步骤ui
- 首先是dx工具是在Android的SDK里面的,在SDK\build-tools下能够找到dx.bat
- 而后为了不版本的问题,咱们把java文件放到dx.dat的目录下,在当前目录打开dos而后输入命令生成class文件,这里会生成警告可是能够无论。
javac -source 1.6 -target 1.6 D:\Android\sdkme\build-tools\25.0.1\Hello.javaspa
- 生成了class后就能够用dx.bat生成dex文件,这里能够看到当个人class文件是绝对路径的时候就会出错,可是不少人用的都是绝对路径才能够,而后咱们回看到生成class时的警告:未设置引导类路径,因此咱们生成dex时不能使用绝对路径。
.\dx.bat --dex --output=Hello.dex .\Hello.classget
总结class
若是咱们使用javac -source 1.6 -target 1.6 D:\Android\sdkme\build-tools\25.0.1\Hello.java生成class文件而且有警告未设置引导类路径时,生成dex时使用class的相对路径sdk
若是咱们是用Javac Hello.java生成的class文件,用dx.dat时就要用绝对路径来生成dex文件im