文档章节

安卓工程conversion to dalvik format failed的解决办法

北京d路飞
 北京d路飞
发布于 2014/12/16 16:55
字数 1031
阅读 14
收藏 0

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包也会造成这样的错误
上次signpost-core-1[1].2.1.1.jar和signpost-core-1.2.1.1.jar冲突了就出现这样的错误所以你看一下是否有相同的jar包

之前比较纠结的就是第四种情况,我从别人那考来了一个andengine游戏引擎的代码,我把他的libs文件夹设置成source folder,后来又把里面的各个jar包add to buildpath,后来就出现了题目的问题,查了很多解决办法,都没有解决,后来仔细观察发现我的问题和第四点比较像,就把其中的jar全部移除了,然后重新加载一次,这下解决了,哈哈,这里把方法汇总贴出来,方便查看。

5、检查代码中是否适用了与android或与java或与引用库内相同的包名,如我出现的问题是因为我的一个包名是java.xx


来源: <http://dev.wo.com.cn/docportal/doc_queryMdocDetail.action?mdoc.docindex=6540>


本文转载自:http://dev.wo.com.cn/docportal/doc_queryMdocDetail.action?mdoc.docindex=6540

北京d路飞
粉丝 12
博文 13
码字总数 2090
作品 1
朝阳
技术主管
私信 提问
Android: Conversion to Dalvik format failed wit...

Q: Conversion to Dalvik format failed with error 1 A: 解决方法: 第一种情况包导入错误.点击工程-->build path-->libraries-->选中android1.x 或者android2.x ,点击remove。 然后再点击......

sunboy2050
2012/09/03
165
0
Unable to resolve target 'android-i'

解决办法:修改工程目录下的project.properties文件里的内容target=android-5数字改成你机器里装过的android SDK版本就可以了。 附:使用高版本的SDK后再导入以前用低版本的project时,会遇到...

BravoZu
2013/08/18
48
0
gen下R文件消失 && 工程无故报错

一、R文件失踪案 1. 背景: 前些时候,在进行Android程序开发过程中帮助同学修改xml代码时候,偶尔会出现R类文件离奇失踪事件,当时经过一些恢复操作无果后,只好重建一个工程。由于R类文件在...

zhengguogaun
2013/06/19
148
0
Conversion to Dalvik format failed with error 1

我的原因是在lib“引用的库”中有android2.2 又加了的android2.2的外库,删除lib中的就可以了 选择工程,build path --> configure build path ---> library 删除引用的低版本SDK, 然后add...

DURONG
2013/03/21
266
0
Android 报错:Conversion to Dalvik format failed: ...

在android高版本开发环境(sdk 4.4)导入低版本(sdk 3.0)的工程时编译报错,报错信息如:Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOv,这个错误是由于...

tomcane
2013/11/08
3.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
10
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
23
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部