将Jar导入Android项目时出错

raf*_*uru 7 android dex

这是Android新SDK的最新问题.

现在Android SDK在将外部jar导入apk包时使用ANT约定,外部jar必须位于"lib"文件夹中,SDK将从该文件夹导出jar.

我的问题是,当我添加我的罐子并运行我的项目时,我收到此消息:

麻烦处理"javax/transaction/HeuristicCommitException.class":

在不构建核心库时,不明智或错误地使用核心类(java.*或javax.*).

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

但是,您实际上可能正在尝试在核心命名空间中定义一个类,例如,您可能已从非Android虚拟机项目中获取该类.这肯定是行不通的.它至少会危害您的应用与该平台的未来版本的兼容性.它的合法性通常也是有问题的.

如果您真的打算构建一个核心库 - 它只适合作为创建完整虚拟机分发的一部分,而不是编译应用程序 - 那么使用"--core-library"选项来抑制此错误消息.

如果你继续使用"--core-library"但实际上正在构建一个应用程序,那么预先警告你的应用程序仍然无法构建或运行,在某些时候.请为愤怒的客户做好准备,例如,一旦升级操作系统,您的应用程序就会停止运行.你应该为这个问题负责.

如果您合法地使用恰好位于核心软件包中的某些代码,那么最简单的安全替代方法是重新打包该代码.也就是说,将有问题的类移动到您自己的包命名空间中.这意味着它们永远不会与核心系统类冲突.JarJar是一个可以帮助您完成这项工作的工具.如果你发现你不能做到这一点,那就表明你所走的道路最终会导致痛苦,痛苦,悲伤和悲伤.

我在这里和其他论坛上已经阅读过此消息,有些人说Android.jar是问题所以删除会修复它.

但我无法找到Android.jar,除了Android librar之外无法删除.

这个关于导入库到android的问题让我很生气,因为我的应用程序工作非常好.

are*_*ing 1

当我第一次更新时,我也看到了很多问题,但最终能够让它工作。根据最终对我和朋友有用的建议,提出了一些建议:

确保您的外部 jar 位于项目基目录的“libs”文件夹中(注意此处的“s”,而不是“lib”)。如果进行任何更改,请务必刷新项目并清理(如果未设置为自动构建,则重新构建)。

在 Java 构建路径 > 库选项卡下的项目属性中,删除除 Android XXX 和 Android 依赖项节点之外的所有内容。同样,如果您进行任何更改,请务必刷新项目并清理(如果未设置为自动构建,则重新构建)。

如果您已对项目及其在工作区中使用的所有库项目执行此操作但仍然遇到问题,请尝试删除所有 Android 库项目(从项目属性 > Android)以及 Java 构建路径中的所有库(包括 Android这次是清理 XXX 和 Android 依赖项),然后更改 Android 版本/应用/更改回来以强制重建。(对从基础库项目开始的每个项目执行此操作,只有在构建没有错误后才将它们添加到其他项目中)。

希望有帮助。