Dalvik VM 调用问题

发布于 2024-12-25 08:56:05 字数 667 浏览 2 评论 0原文

我正在尝试创建一个简单的 JAR 文件,例如此处< /a> 并在 shell 中执行它。 我被困在这一行

dx --dex --output=foo.jar Foo.class

当我在 CMD 中执行这一行时, 。我总是收到这样的错误

trouble processing:
class name (com/delvix2/Foo) does not match path (C:/somepathhere/classes/com/delvix2/Foo.class)
...while parsing C:/somepathhere/classes/com/delvix2/Foo.class
...while processing C:/somepathhere/classes/com/delvix2/Foo.class
1 warning
no classfiles specified

在此处输入图像描述

如何解决此问题?

I am trying to create a simple JAR file like here and execute it in the shell. i am stuck on this line

dx --dex --output=foo.jar Foo.class

when i execute this line in CMD . I am always getting an error like this

trouble processing:
class name (com/delvix2/Foo) does not match path (C:/somepathhere/classes/com/delvix2/Foo.class)
...while parsing C:/somepathhere/classes/com/delvix2/Foo.class
...while processing C:/somepathhere/classes/com/delvix2/Foo.class
1 warning
no classfiles specified

enter image description here

How can I fix this issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

牵你手 2025-01-01 08:56:05

这对我有用。

dx --dex --output="dex 文件\file.dex 的完整路径" "c:\.....仅包含类文件的文件夹的路径"

第一个路径:完整路径到 dex 文件,包括您想要的 dex 文件的名称

第二个路径:“仅”包含您的 .class 文件的文件夹的路径。

(只给出文件夹的路径,不要给出类文件名)

This works for me.

dx --dex --output="full path to dex file\file.dex" "c:\.....path to folder which contains the class file only"

First path : full path to dex file including the name of the dex file you want

Second path : Path to a folder which contains "ONLY" your .class file.

(Just give the path up to the folder, don't give the class file name)

沙沙粒小 2025-01-01 08:56:05

看起来 dx 期望您提供的类的相对路径与其包相匹配。试试这个:

cd c:/somepathhere/classes
dx --dex --output=foo.jar com/delvix2/Foo.class

It looks like dx expects that the relative path of the class that you give it will match it's package. Try this instead:

cd c:/somepathhere/classes
dx --dex --output=foo.jar com/delvix2/Foo.class
挖鼻大婶 2025-01-01 08:56:05

使用 --no-strict 选项:

dx --dex --no-strict --output=foo.jar Foo.class

Use the --no-strict option:

dx --dex --no-strict --output=foo.jar Foo.class
美胚控场 2025-01-01 08:56:05

它必须适合你的情况

dx --dex --output=C:\classes.dex C:\temp\Foo.jar

,然后你必须使用

aapt add C:\temp\Foo.jar C:\classes.dex

我希望它会起作用

It must be in your case

dx --dex --output=C:\classes.dex C:\temp\Foo.jar

and then you must use

aapt add C:\temp\Foo.jar C:\classes.dex

I hope it will be work

你的往事 2025-01-01 08:56:05

我尝试了这一切,但没有成功。有一些东西对我有用,那就是把你的类放在 \sdk-path\platforms-tools\ 中。例如,

C:\sdk-path\platforms-tools\dx --dex --output=class.dex  com\mypack\app\myclass.class

myclass.class 存在于,

C:\sdk-path\platforms-tools\com\mypack\app\myclass.class

这是蹩脚的,但唯一有效的。

I tried all this, and did not work. There's something that worked for me, and it was to put your classes in \sdk-path\platforms-tools\. For example,

C:\sdk-path\platforms-tools\dx --dex --output=class.dex  com\mypack\app\myclass.class

And myclass.class lives in,

C:\sdk-path\platforms-tools\com\mypack\app\myclass.class

This is crappy, but the only thing that worked.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文