运行quickblox andorid videochat-sample时,Dx坏类文件魔术(cafebabe)或版本(0033.0000)

时间:2013-12-18 07:04:31

标签: java android quickblox

我希望你们可以帮我解决这个问题。 从here运行示例视频聊天时,我一直收到此错误。 我尝试下载zip文件,克隆和下载只有sdk jar但我总是得到同样的错误,在问题中提到。我搜索了SO,大多数解决方案是使用java 1.6构建的,我已经使用过(从未安装过更高版本),谷歌上发现的一些解决方案也没有帮助。看到了这个答案:( here

For others searching for this error message, another possible cause is that you
are including libraries that were built for java 7. For us, adjusting those
builds to specifically target java 6 (and then building new jars) fixed the 
problem.

我想也许这可能是问题,如果是这样我怎么能绕过它? 我将不胜感激任何帮助。 提前谢谢

修改

我在sdk jar文件中的每个类都得到了Dx坏类...错误。经过更多的搜索,我偶然发现了一个较旧版本的sdk jar文件here,我能够使用早期的sdk版本运行另一个示例。只是由于某种原因,这个文件中缺少一个重要的类,所以当我尝试拨打电话时,样本自然会崩溃(但 RUNS 直到那个点没有错误)。

因此,我可以假设我的一切都很好,也许sdk jar文件有问题吗?或者我能做些什么来解决它?

4 个答案:

答案 0 :(得分:8)

正确答案如下:

从版本19开始,您可以使用任何SDK(1.6,1.7)编译您的Android项目。

对于我来说,当我将Android SDK设置为19(支持java 7)时出现以下错误,但构建工具不是19.x.

编译时,看看它使用了哪个dx.jar(/xxx/android-sdk/build-tools/19.0.3/lib/dx.jar),它应该可以解决问题!只需使用Android SDK Manager下载正确的版本。

答案 1 :(得分:2)

下载最新的IDE解决了问题

修改 我从here下载了最新的eclipse + ADT包。我也将我的Java JDK更新为Java SE 7u45。

  • 确保项目编译器设置仍设置为1.6(应该是默认设置)

解决了原始错误消息但是我得到了一些新内容:Dx警告:忽略匿名内部类的InnerClasses属性...

我被告知问题应该在最近的时间确定。

答案 2 :(得分:0)

我在jar期间遇到过此错误消息 - > dex转换。问题出在损坏的 jar文件中。

答案 3 :(得分:0)

对我来说,问题恰恰与@TheOnlyYam的答案中的Build工具版本有关。我正在使用ADT。我解决问题的方式是:

  • 我从Android SDK管理器
  • 下载了最新版本的构建工具
  • 仍未使用,错误仍然存​​在。所以我在所有项目和库中的sdk.buildtools=22.0.1文件中添加了行project.properties。现在错误消失了。

PS:唯一的缺点是我对版本进行了硬编码,在将来的更新中我不会自动使用它。