Android打包出现形如“Dx bad class file magic (cafebabe) or version (0033.0000)1”的错误的原因及其解决办法

本文介绍了在Android打包过程中遇到的'Dx bad class file magic (cafebabe) or version (0033.0000)'错误,原因是ADT版本与JDK版本不一致,导致字节码版本冲突。解决方法包括将Eclipse的Java Compiler设置为1.6,以及将Android项目的Java Compiler设置为1.6,确保与Android工程API版本匹配,从而避免打包错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A、出现这个错误的原因是:

    出现这种错误的原因是,当前Android工程(API17 android4.2.2 ADT v21.1)默认使用的是jdk 1.6(JDK 6.0)编译器,而引用的包编译环境大于1.6(如1.7等),由于编译出的字节码版本不一致,导致无法转换成android虚拟机dalvikvm可读的字节码,因此引用的这个类包实际上并没有被编译到这次输出的apk中,自然程序运行的时候就找不到对应的类文件了。

    也就是说,由于Android项目属性中的Java Compiler是设置为1.6版本的,而Eclipse的Preference中的被设置为1.7所致,所以换成1.6就不会提示这个错误了。


B、解决步骤:

    1、eclipse的Preference的设置为:Window->Preference->Java->Compiler->1.6

    2、Android项目设置:项目->Properties->JavaCompiler->1.6  ,然后ant打包,则不会出现以上问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值