繁体   English   中英

无法通过Davik VM执行.java文件

[英]Unable to execute .java file through Davik VM

我正在跟踪此链接,我首先已成功执行了此命令。

javac <path + filename>.java 

然后,当我尝试执行以下命令后,遇到错误“ 类名与路径不匹配 ”。

dx --dex --output=<path + filename>.dex <path + filename>.class

我对.class和.java使用相同的名称,但我想我必须编写.class文件名的显式路径。 那么现在该怎么办。 我正在执行一些小错误,但找不到。

您的命令似乎是错误的:

dx --dex --output=.dex .class

你有尝试过吗?

dx --dex --output=YourClass.dex YourClass.class

dx对您提供的路径很挑剔-类文件相对于您的工作目录的相对路径必须与该类的包相匹配。

例如,如果您的命令是

dx --dex --output=classes.dex out/com/example/HelloWorld.class

然后dx假设HelloWorld的程序包名称应为out.com.example,如果不是,则进行抱怨。

但是,有一个窍门-您可以在提供dx的路径中添加一个/./路径组件,以相对于Java包指定“根”所在的位置。 如果前一个示例中的软件包实际上是com.example,则可以执行以下操作:

dx --dex --output=classes.dex out/./com/example/HelloWorld.class

另一个选项是使用--no-strict选项,该选项禁用dx的路径检查。

为避免幻数问题,请先检查您的jdk版本,jdk 1.7 *似乎有问题。 我恢复到jdk 1.6。

不用使用dx --dex --output=<path + filename>.dex <path + filename>.class我们可以做一件事将一个或所有.classes文件放在一个文件夹中,例如classFolder现在发出以下命令:

dx --dex --output=YourClass.dex  absolutePath/classFolder 

dx命令将选择该文件夹中的一个或所有类文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM