如何运行包含1个以上DEX文件的DalvikVM应用程序?

时间:2016-03-06 15:08:03

标签: android dalvik

我刚刚将自定义的Minecraft服务器(在控制台中运行的PC服务器)编译成一个名为test.zip的.zip文件,其中包含classes.dexclasses2.dex,以及sdk-dx工具。

我想使用“dalvikvm”shell命令运行该应用程序,但它不断抛出java.lang.NoClassDefFoundError: test.server.Start

.zip文件的路径为/sdcard/Test/test.ziptest.server.Start中的原始主要类为classes.dex。 (我认为它没有被修改,因为我尝试了dex2jar并且类名保持不变。)

这些是我尝试过的命令。他们没有工作。

dalvikvm -cp /sdcard/Test/test.zip test.server.Start

dalvikvm -cp /sdcard/Test/test.zip/classes.dex;/sdcard/Test/test.zip/classes2.dex test.server.Start

dalvikvm -cp "/sdcard/Test/test.zip/classes.dex /sdcard/Test/test.zip/classes2.dex" test.server.Start

有谁知道这里有什么问题?

1 个答案:

答案 0 :(得分:0)

抛开更大的问题,Dalvik类路径是以冒号分隔的文件名列表(例如/sdcard/foo1.jar:/sdcard/foo2.jar)。每个jar / apk包含一个classes.dex。对于APK,您可以使用multidex解决此问题,但对于命令行调用,您只需将每个classes.dex放入其自己的jar文件中。