gpt4 book ai didi

dalvik - 不构建核心库时对核心类(java.* 或 javax.*)的不明智或错误使用

转载 作者:行者123 更新时间:2023-12-04 07:58:04 25 4
gpt4 key购买 nike

当我清理我的项目时,我收到以下错误:

[2011-10-05 13:47:53 - The Basics] Dx 
trouble processing "java/nio/CharBuffer.class":

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

这通常是由于无意中包含了一个核心库文件
在应用程序的项目中,当使用 IDE(例如
eclipse )。如果你确定你不是故意定义一个
核心类(class),那么这是最有可能的解释
继续。

但是,您实际上可能正在尝试在核心中定义一个类
命名空间,例如您可能已经采用的来源,
来自非 Android 虚拟机项目。这将最
肯定不行。至少,它会危害
您的应用程序与平台 future 版本的兼容性。
它的合法性也经常受到质疑。

如果你真的打算构建一个核心库——这只是
适合作为创建完整虚拟机的一部分
分发,而不是编译应用程序——然后使用
“--core-library”选项来抑制此错误消息。

如果您继续使用“--core-library”但实际上
构建应用程序,然后预先警告您的应用程序
在某些时候仍然无法构建或运行。请成为
为愤怒的客户做好准备,例如,他们发现您的
一旦升级其操作,应用程序将停止运行
系统。你会为这个问题负责。

如果您合法地使用某些恰好在
核心包,那么您拥有的最简单的安全替代方案是
重新打包该代码。也就是说,将有问题的类移动到
你自己的包命名空间。这意味着他们永远不会在
与核心系统类冲突。 JarJar 是一个可能有帮助的工具
你在这方面的努力。如果你发现你不能这样做,那么
这表明你所走的道路最终会
导致痛苦、痛苦、悲伤和哀叹。
[2011-10-05 13:47:53 - The Basics] Dx 1 error; aborting
[2011-10-05 13:47:53 - The Basics] Conversion to Dalvik format failed with error 1

最佳答案

我有这个问题。我使用 Maven 来构建我的 android 项目。我的问题是由我的依赖项之一引起的,具体取决于 android jar。我更新了我的 pom 以从该依赖项中排除 android,并为我解决了这个问题。

  <dependency>
<groupId>org.reassembler</groupId>
<artifactId>synth-android</artifactId>
<version>2.5.8</version>
<exclusions>
<exclusion>
<artifactId>junit</artifactId>
<groupId>junit</groupId>
</exclusion>
<exclusion>
<artifactId>android</artifactId>
<groupId>android</groupId>
</exclusion>
</exclusions>
</dependency>

希望这对某人有所帮助,我花了一段时间才弄清楚发生了什么。

关于dalvik - 不构建核心库时对核心类(java.* 或 javax.*)的不明智或错误使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7661559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com