conversion to dalvik format failed with ...

最近 升级 adt 发现 svn 下来的 项目编译出包时 eclipse 报conversion to dalvik format failed with ...

最终找到原因,工程引入包冲突,手动引入包 References Libraries 中的jar 和ADT 自动引入的Android Dependencies jar包 冲突。

解决方案:删除 Java Build Path->Libraries下 删除Android Dependencies 只是手动引入就OK了。

另外导致 这个错误的原因还有如下四种情况:
1。如果不修改android sdk版本,则使用project clean 命令作用于某工程即可。
(该处理方式只是在高版本中兼容了低版本工程,未真正意义上的升级)

2。如果修改android sdk版本,则需要以下几个步骤:

1)修改SDK

选择工程,buildpath --> configure build path ---> library 删除引用的低版本SDK,
然后add ExternalJARs,选择高版本SDK,OK,保存

2)修改classpath文件

该文件可能存在该项:<classpathentry kind="lib" path ="你所指定的高版本的地址"
把她修改成<classpathentrykind="con"path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" />

3) 修改AndroidManifest.xml

在AndroidManifest.xml文件中,application标签后添加<uses-sdkandroid:minSdkVersion="3"></uses-sdk>

4) 修改default.properties(很重要)

该文件最后一行(前面没用#的)target=android-3 该成target=android-8,保存。
再看看你的工程和新建的android2.2的工程结构就一样了。

3.在eclipse开发Android项目时出现的很多问题都可以使用Project--------->clean来轻易解决。
但如果出现说Android库找不到,或者不小心remove了Android系统库,怎么重新添加Android系统库呢?

在eclipse里面的Java Build Path里面是没法添加例如Android 2.1这样定义好的系统库。而我尝试手动添加
SDK 文件夹里面的Android.jar,结果出现了Conversion to Dalvik format failed with error 1问题了。折腾了
一番后,很多网友都说用Projectclean可以解决,但对我的情况来说,没有用处。

解决方法:

修改项目classpath文件,这让我明白了,直接从其他正常项目里面把
<!-- 注意,这个.classpath文件在eclipse工作空间的硬盘存放位置对应工程项目目录下面 -->
<classpathentry kind="lib"path ="自定义jar的地址" />

修改成www.2cto.com
<classpathentry kind="con"path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>。

这样子刷新项目,Android系统库Android 2.1回来了,那个错误也解决了。
--------------------------------------------------------------------------------------------------------------------------
这几天又遇到这样的问题了,但是.classpath文件里面已经包含了上面的con Path,后来在论坛上找到新方法:

project -> properties -> androidlabel, check a target from the project build target list

<!-- 这样有时候还是不能去掉错误,这时候注意,在进入project-> properties -> android后,下面有
一个is library项,把它勾上,再点击确定错误就OK了,我的错误就是这样解决的,一开始按照上面
以及后面的方法都解决不了,最后我看到有一个is library项,把它勾上再确定试一下OK,错误没了 -->
(这个is library是表示是不是库的意思,如果实在没有别的办法的时候再试试,具体根据自己的情况)


4.还有一种情况:包冲突,请到工程目录下将相同的包删除,重新导入一个,这一点和第一种情况类似,不过这是针对其他包,不是android包

解决办法:Java Build Path->Libraries->JARs and class folders on thebuild path
看是否有相同的jar包 有些jar包版本同定 不一定是android的jar包 其他类库的jar包也会造成这样的错误




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值