小编sau*_*aul的帖子

从 Java 源代码创建 DEX 文件

我在网上广泛搜索了使用 Android SDK DX 工具创建 Android DEX 文件(Java Dalvik 字节码)的综合指南。

我的目标是创建一个包含 DEX 字节代码的 Jar 文件,该文件可以在运行时由应用程序加载。

为了创建 Jar 文件,我遵循了以下步骤:

  1. 包含公共类(Name.java)的Java源代码
  2. 使用以下命令将步骤 1 中的 .java 文件编译为 .class 文件javac Name.java
  3. 从类文件创建 Jar 文件。jar cvf output.jar name.class
  4. 使用dx工具将class文件转换为classes.dex。./dx --dex --output=classes.dex output.jar
  5. 使用aapt将classes.dex文件与jar文件重新打包。

到目前为止,我已经成功完成了第 4 步,这也是我遇到问题的地方。运行dx工具时,出现以下错误:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.io.FileNotFoundException: /home/del/Desktop/AndroidJarBuilder/output.jar (No such file or directory)
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:215)
    at java.util.zip.ZipFile.<init>(ZipFile.java:145)
    at java.util.zip.ZipFile.<init>(ZipFile.java:159)
    at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
    at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
    at com.android.dx.command.dexer.Main.processOne(Main.java:632)
    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
    at com.android.dx.command.dexer.Main.run(Main.java:246)
    at com.android.dx.command.dexer.Main.main(Main.java:215)
    at …
Run Code Online (Sandbox Code Playgroud)

java android jar dx dex

5
推荐指数
1
解决办法
8253
查看次数

标签 统计

android ×1

dex ×1

dx ×1

jar ×1

java ×1