dex filse:
Dalvik Execute Files , 即Android虚拟机可执行程序
从字面意思理解是你一个应用中,出现了多个Dex文件定义。
以下情况会出现此错误:
1.你项目中可能存在一个apk包,其中包含的文件定义与当前项目相同
2.你项目引入的jar包重复实现了相同的定义。(比如: a.jar引入了common.jar , 此时you project也引入了common.jar)
不同情况可能会出现这个问题,我遇到的问题是:
引入的多个jar包中,其中可能是第三方的SDK,但是其中可能使用了比较流行的开源框架,此时你项目中就有两套包名一样的代码,编译没问题,部署到手机之后就报如上错误
解决办法是:
把第三方jar包包含的开源代码删掉即可
比如:
项目中使用了android-async-http.jar , 同时引入 xxxxx.sdk.jar , 而由于xxxxx.sdk.jar中也引入了android-async-http.jar所以出现以上错误
解决步骤:
1.修改xxxx.sdk.jar为xxxx.sdk.jar.zip , 用资源管理打开它,删除android-async-http部分.
2.在把xxxx.sdk.jar.zip改回原来的名字
3.项目使用此包