Conversion to Dalvik format failed

2016-04-07 22:12 阅读 10,191 次 评论 1 条

一.概要

Android项目中经常出现的“Android Dependencies”和“Android Private Libraries”两个东西,让我很容易混淆,每次“Dependencies”、“Preferences”和“References”三个单词也让我想一阵子,到底哪个是哪个?今天出现的问题是将项目从一台电脑覆盖到当前电脑,运行报错:
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/ta/utdid2/aid/AidManager

觉得坑爹的时候,不提示出错的具体位置,突然间觉得无从下手,大概意思是“重复或多余的dex文件”

二.解决办法

打开出错的项目,在项目的bin文件夹看到编译的dexedLibs库文件,打开后发现有多个jar包文件是重复的,将dexedLibs文件夹下所有jar包文件都删掉,运行项目后重新生成。这个时候,有可能重新在dexedLibs文件夹中重新生成对应的jar包,也有可能不生成,不影响正常运行项目,但同时会重新生成对应的apk文件,说明编译通过,可以正常运行项目。
001-delete multiple dex files

三.Android Dependencies、Android Private Libraries和Referenced Libraries

这两者都属于Libraries里面的东西,Android Dependencies依赖的是另外一个Library项目,比如:appcomat_v7或android-support-v7-appcompat,关联的Library属于同一个workspace工作间,添加Android Dependencies有三种方式,总结在《Eclipse导入另一台电脑下的Android项目style文件出现错误的原因》这篇文章中,建议了解一下。

Android Private Libraries和Android Dependencies在进行对应操作后,自动生成。在Android项目中将需要的jar包复制到libs文件夹,重启Eclipse。
002-Android Private Libraries And Dependencies

Referenced Libraries表示“关联的jar包”,这些jar包可能存放在本地也可能存放在项目的libs文件夹中,在libs文件夹中选中需要关联的jar包,鼠标右键“Build Path->Add to Build Path”,关联成功(如果已关联,不出现Add to Build Path选项),打开项目属性(快捷键:Alt+Enter),Libraries选项中看到关联的各种库(包括:Android Dependencies、Android Private Libraries和Referenced Libraries)

003-Build Path Library

你可能感兴趣的文章

来源:TeachCourse每周一次,深入学习Android教程,关注(QQ158#9359$239或公众号TeachCourse)
转载请注明出处: https://www.teachcourse.cn/1629.html ,谢谢支持!

资源分享

Android Studio如何快速更改目录结构和包名? Android Studio如何快速更改目
Android开发之versionName和versionCode的命名规则小说 Android开发之versionName和ve
Android学习笔记六:Java基础知识 Android学习笔记六:Java基础知
选择排序算法 选择排序算法