[英]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.