尝试了所有方法 -- 转换为 Dalvik 格式失败,错误 1

发布于 2025-01-01 05:33:24 字数 2351 浏览 1 评论 0原文

根据我的阅读,此错误可能是由于对 diff jar 文件中存在的类的重复引用引起的,在我摆弄构建路径后似乎就是这种情况。但是,我所拥有的只是构建路径上的 android.jar 和 android-support-v4.jar 以及我需要获得干净构建的引用库。

我清理了项目,删除了 R.java,关闭并重新打开了项目,但我仍然得到了这个赌注。我还能做什么来解决这个问题?我需要这两个 .jar 文件,并且它们是我的项目中唯一包含的文件。

控制台日志:

[2012-01-29 13:05:30 - HelloFragmentLayout] Dx 
trouble processing "javax/security/auth/callback/PasswordCallback.class":

Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.

This is often due to inadvertently including a core library file
in your application's project, when using an IDE (such as
Eclipse). If you are sure you're not intentionally defining a
core class, then this is the most likely explanation of what's
going on.

However, you might actually be trying to define a class in a core
namespace, the source of which you may have taken, for example,
from a non-Android virtual machine project. This will most
assuredly not work. At a minimum, it jeopardizes the
compatibility of your app with future versions of the platform.
It is also often of questionable legality.

If you really intend to build a core library -- which is only
appropriate as part of creating a full virtual machine
distribution, as opposed to compiling an application -- then use
the "--core-library" option to suppress this error message.

If you go ahead and use "--core-library" but are in fact
building an application, then be forewarned that your application
will still fail to build or run, at some point. Please be
prepared for angry customers who find, for example, that your
application ceases to function once they upgrade their operating
system. You will be to blame for this problem.

If you are legitimately using some code that happens to be in a
core package, then the easiest safe alternative you have is to
repackage that code. That is, move the classes in question into
your own package namespace. This means that they will never be in
conflict with core system classes. JarJar is a tool that may help
you in this endeavor. If you find that you cannot do this, then
that is an indication that the path you are on will ultimately
lead to pain, suffering, grief, and lamentation.

[2012-01-29 13:05:30 - HelloFragmentLayout] Dx 1 error; aborting
[2012-01-29 13:05:30 - HelloFragmentLayout] Conversion to Dalvik format failed with error 1

From what I read, this error could be caused by duplicate references to classes existing in diff jar files and that seemed to be the case after I fiddled with the Build Path. BUT, all I have was the android.jar and the android-support-v4.jar on my Build path and under the Referenced libraries which I need to get a clean build.

I cleaned the project, deleted the R.java, closed and reopened the project but am still getting this right off the bet. What else can I do to fix this? I need both .jar files and they are the only ones included in my project.

Console Log:

[2012-01-29 13:05:30 - HelloFragmentLayout] Dx 
trouble processing "javax/security/auth/callback/PasswordCallback.class":

Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.

This is often due to inadvertently including a core library file
in your application's project, when using an IDE (such as
Eclipse). If you are sure you're not intentionally defining a
core class, then this is the most likely explanation of what's
going on.

However, you might actually be trying to define a class in a core
namespace, the source of which you may have taken, for example,
from a non-Android virtual machine project. This will most
assuredly not work. At a minimum, it jeopardizes the
compatibility of your app with future versions of the platform.
It is also often of questionable legality.

If you really intend to build a core library -- which is only
appropriate as part of creating a full virtual machine
distribution, as opposed to compiling an application -- then use
the "--core-library" option to suppress this error message.

If you go ahead and use "--core-library" but are in fact
building an application, then be forewarned that your application
will still fail to build or run, at some point. Please be
prepared for angry customers who find, for example, that your
application ceases to function once they upgrade their operating
system. You will be to blame for this problem.

If you are legitimately using some code that happens to be in a
core package, then the easiest safe alternative you have is to
repackage that code. That is, move the classes in question into
your own package namespace. This means that they will never be in
conflict with core system classes. JarJar is a tool that may help
you in this endeavor. If you find that you cannot do this, then
that is an indication that the path you are on will ultimately
lead to pain, suffering, grief, and lamentation.

[2012-01-29 13:05:30 - HelloFragmentLayout] Dx 1 error; aborting
[2012-01-29 13:05:30 - HelloFragmentLayout] Conversion to Dalvik format failed with error 1

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

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

发布评论

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

评论(3

相权↑美人 2025-01-08 05:33:24

我在尝试在 android 4 下运行为 android 3 编写的示例应用程序时遇到了同样的问题。我注释掉了每个类中每个方法的主体,并尝试从类路径中删除 android.jar,但我没有得到错误消息不再出现。即使我在之前注释掉的代码中进行注释,它仍然有效...奇怪:(不幸的是,我不确定这是否是正确的解决方案,因为我在尝试运行有问题的应用程序时得到了 NPE。你呢?

I had the same problem while trying to run an example app written for android 3 under android 4. I commented-out the body of every method in every class and tried to remove the android.jar from the classpath and I don't get the error message anymore. And it works even when I comment-in the code previously out-commented... strange :( Unfortunately I'm not sure if this is the proper solution since I get a NPE while trying to run the app in question. What about you?

白况 2025-01-08 05:33:24

我遇到了同样的问题,我意识到我已经添加了两次Android库,还有JRE环境。只需确保项目的 Java 构建路径仅包含一个 Android 平台作为库,而不包含 JRE。这应该可以解决问题。

I have faced with the same problem, and I realized that I have added Android library twice, also the JRE environment. Just make sure that Java build path of the project only contains one Android platform as the library, and not JRE. This should resolve the issue.

浅浅 2025-01-08 05:33:24

删除除 android 库之外您可能使用的任何其他库或 jar 文件。您可能正在使用 Android 库,并且还通过“添加 Jar”选项添加了适用于 Android 的 jar。如果是这样,请取出附加的罐子。之后,干净的构建应该可以解决您的问题。

Remove any other library or jar files that you might be using apart from the android library. Chances are you might be using the Android library and also have added the jar for android from "Add Jar" option. If so, remove the additional jar. After that, a clean build should solve your problem.

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