转换为Dalvik格式失败,错误1与javax / net / SocketFactory.class

时间:2010-07-19 19:40:13

标签: android dalvik

尝试在Project中获取此类输出时遇到此问题:

[2010-07-19 23:29:23 - myProject]
trouble processing "javax/net/SocketFactory.class":
[2010-07-19 23:29:23 - myProject] 
Attempt to include a core VM class in something other than a core library.
It is likely that you have attempted to include the core library from a desktop
virtual machine into an application, which will most assuredly not work. If
you really intend to build a core library -- which is only appropriate as
part of creating a full virtual machine binary, 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 please be aware that your build will still fail at some
point; you will simply be denied the pleasure of reading this helpful error
message.
[2010-07-19 23:29:23 - myProject] 1 error; aborting
[2010-07-19 23:29:23 - myProject] Conversion to Dalvik format failed with error 1

我正在寻找我的项目使用javax包,没找到,干净所有也没有帮助。我做错了什么?

更新

对不起伙计们,但我找不到好的解决方法,我想强调一个事实,即我根本不在我的项目中使用SocketFactory类!源代码在这个问题之前没有改变,这就是为什么我认为eclipse或adt或其他东西的问题,但是如果我使用ant(由sdk生成)来构建这个项目没有问题!!!

我通过删除Eclipse,Android SDK,Eclipse工作区来解决这个问题,然后重新安装它们,之后一切正常。

希望这会对某人有所帮助。

19 个答案:

答案 0 :(得分:49)

我有同样的问题.. 这对我有用 project - > properties-> java build path-> libraries->删除所有包括android jar

现在转到项目浏览器,右键单击您正在处理的项目, 那么android工具--->修复项目属性......  做一个干净,然后建立......

答案 1 :(得分:11)

  • 我解决了这个问题(至少对我而言)。

这就是我的所作所为:

  • 转到项目»属性»Java构建路径»库
  • 删除除“Android X.Y”以外的所有内容,然后单击“确定”。
  • 转到项目»清洁»清除下面选择的项目»选择项目并单击“确定”。

这对我有用。 希望它也适合你

更新:其实我可能不得不收回我的意见..行动删除了错误消息,但现在我缺少某些类和方法... arggghhhh

答案 2 :(得分:5)

我刚刚重启了Eclipse,错误再也没出现了!

答案 3 :(得分:4)

我遇到了同样的问题,并解决了如下问题:

  1. 首先清洁所有罐子; (这个问题必须因为你的一些罐子)
  2. 删除项目;
  3. 重新进口项目;
  4. 确保您的sdk是正确的,并选择一个sdk版本项目;
  5. (这是我解决问题的问题)右键单击您的项目,选择“build-path”,然后选择“添加图书馆”,并添加您的私人罐子; 干净的建设,问题已经解决;

答案 4 :(得分:3)

这种情况发生在我身上,

我有一个相当古老的项目,我今天必须重新开始工作。我使用的是Universal Image Downloader'基本上每个项目都需要处理大量图像的库。因此,在这个旧项目中,我获得了“通用图像下载器”的源文件。包括在内的' src'路径。那时候我是一个新手,慢慢地我开始开发自己的库,它可以很容易地处理每天简单的Android开发任务。显然,我加入了通用图像下载器'对此。

今天对旧项目进行了除尘后,我做的第一件事就是引用我的库加速开发过程但是当我试图调试时遇到了#34;转换为Dalvik格式失败,错误1&# 34;一遍又一遍地。首先,我认为这是支持库,但即使清除了所有库并仅添加了我的库并快速修复项目属性'我还是得到了。在尝试了各种解决方案后,我在控制台中发现了这一点" java.lang.IllegalArgumentException:已经添加:Lcom / nostra13 / universalimageloader / cache / disc / BaseDiscCache;"

就这么简单......我试图编译一个已经编译过的类。

解决方案:我只是删除了我从“通用图像下载器”中获取的所有类文件。来自'src'的图书馆目录。由于我的图书馆引用了#34; Universal Image Downloader"图书馆旧项目开始工作得很好。

答案 5 :(得分:3)

我遇到了同样的问题,我尝试了这里列出的所有解决方案都没有成功(我开始恼火)。然后我从工作区中删除了项目,然后再次导入它,没有任何问题!

答案 6 :(得分:2)

我得到了同样的错误。我的问题是我有一个连接调试的Android设备。一旦我拔掉它,我就能够出口。

答案 7 :(得分:2)

我找到的答案是检查项目属性中的源和库构建路径。很可能在源和库选项卡中都会引用一些副本。因此,在源选项卡中删除extra,然后清理项目,你应该很高兴。

答案 8 :(得分:2)

尝试运行导入eclipse的示例项目时,点击日志中显示的相同问题。

附加信息:在eclipse的问题视图中我看到以下错误:

“在解决构建路径错误之前无法构建项目”

在我的情况下,导入的项目恰好找到了库(通过恰到好处,我的意思是我可以看到每个android库的外部路径,在这种情况下是2个libs,android.jar和maps.jar)。所以在我的情况下没有改变库,但可能是你的问题。

我遵循了Spock关于清理项目的建议,我不得不多次清理,直到它以某种方式解决问题。之后,问题解决了我必须为项目指定一个AVD才能运行,并且很快就会在模拟器上启动并运行。另请注意,我的eclipse已设置为自动构建。

在我的情况下,我没有丢失任何类文件或干净后的任何内容,因为构建正确生成它们。

问候!

答案 9 :(得分:1)

在某些情况下,它会发现它的短裤和我发现的最佳修复方法是删除引用的jar,清理,重新添加它们然后重新编译。

我认为错误可能是由于两次包含相同的类而造成的。

当使用不属于Android环境的类时,也会发生此错误(并且您无法通过清除来摆脱它)。

答案 10 :(得分:1)

总结提供的链接bimbim.in中的信息(当我浏览它时,我的理解)

  • Android Davik VM试图编译jar但发现一些无法编译成.dex文件的东西

所以

  • 只需在项目的根目录中创建一个“lib”目录(src,bin res目录所在的目录),然后将它们添加到构建路径中。项目属性... Java构建路径...库...添加JAR .. ..

答案 11 :(得分:1)

我可以通过创建一个新项目来解决这个问题,看起来有些项目设置正在创建这个问题,并且无法真正找到原因。但是,将现有源代码转储到新项目上可以解决这个问题。如果有人找到了这个问题的根本原因请告诉我。

答案 12 :(得分:1)

我遇到了同样的问题并解决了如下问题: - 转到项目/属性/ Java构建路径/库并删除除Android之外的所有JAR - 做一个项目清洁 - 再次将JAR添加为外部JAR(我第一次在内部添加它们,这可能是问题所在) 之后错误消失了。

答案 13 :(得分:1)

我通过更新Android SDK和AVD管理器中的可用软件包解决了这个问题。无需删除Eclipse。

答案 14 :(得分:1)

或者:

  • javax.net.SocketLibrary位于您的源代码中,或
  • javax.net.SocketLibrary包含在项目的JAR文件中

答案 15 :(得分:0)

每当项目拥有雄心勃勃的数据时。导致此问题。可能是android无法找到哪一个选择。

答案 16 :(得分:0)

据我所知,同样神秘的错误可能是由多种原因造成的。我有“转换为Dalvik格式失败,错误1”错误。在我的情况下,问题是由于某种原因项目 - >属性 - > Java Compiler未设置为“启用项目特定设置”,具有适当的Java 1.5设置,但是保留为默认值(在我的情况下为1.6)。在设备/模拟器上进行调试,构建和测试工作正常,但导出总是因上述错误消息而失败。

如果不确定正确的设置,请在某个备用位置创建相同的项目,然后将旧项目中所有需要的文件复制到新项目中。这为我解决了这个问题。

使用proguard时出现同一错误消息的下一个问题。通过替换android sdk附带的版本更新到最新版本,修复了该问题。

希望这有帮助

答案 17 :(得分:0)

我的问题是在我的src文件夹中有一个jar文件。从构建路径中删除jar可以正常工作,但前提是您不需要有问题的jar。对于需要相关jar的人,请确保您的jar文件不在项目文件夹中(可能只是src子树,但我会将其分开进行测试)。把它放在你的桌面或其他东西上,然后尝试“添加外部jar ..”选项。在添加另一个外部之前,请务必从项目文件系统中删除jar。两者都是导致问题的原因。

答案 18 :(得分:0)

我已经把它作为第一个答案的指令而且它有效。(Linux) 我认为问题可能是由SDK或ADT更新引起的。 我必须清除Java Building路径中的所有lib,然后使用android工具来修复项目。清洁和重建后,它像以前一样工作。