百度地图开发关于导入最新的3.0以上jar包出现Unable to execute dex: Multiple dex files define Lcom/baidu/a/a/a/a; 错误的解决方案

来源:互联网 发布:define在c语言中的意思 编辑:程序博客网 时间:2024/06/07 00:33

    最近开始在搞一个定位应用的项目,我就采用百度地图的Demo。刚开始就进行简单的


Hello Baidu Map的例子。当我导入了最新的3.4开发包时,运行完项目,就出现Unable 


to execute dex: Multiple dex files define Lcom/baidu/a/a/a/a错误。我就在网上


找解决方案。我就一一试验以下的方法:


 下面说下我的想法和解决方案:


  原因一:因为apk编译出现问题

  

  解决方法:直接删除bin文件,eclipse在编译的时候会再为你自动生成,如果没有就重启eclipse


  原因二:包名重复

  解决方法:包名重复有两种可能。

  1.其一是两个jar名字一样,在lib里可以看一下,如果有一样的就删掉一个。

                  

  2.这种情况是大家要注意的。有的时候jar名明明不同,但是也会报这个错,因为两


个jar里面的包名有相同的。这就要求我们打开jar,看看里面的包名是不是重复。


下图是比对,Android_Services_2.2.0.jar和Android_Location_V1.1.2.jar,两者没


有相同的包。



  一些思考:在做程序的时候,遇到bug还是要自己从原理来理解找办法,像是我上面


二条提到的情况,stackoverflow里其实也没交代,有的东西还是要自己多想,不要


味的上网找答案,特别是在操作蛋疼的android时。



  转载自http://tech.ddvip.com/2014-08/1409100178212833.html,结果都不行。


   后来我自己找到一个方法,结果利用这个方法就解决了。方法如下:就是在你配置每


个Jar包后,生成在Referenced Libraries里的Jar文件重复了。意思就是同时生成两个


baidumapapi***.jar文件。只要删除其中一个就可以了。不过3.0以前的开发包都不会出


现这种问题,只要是以后的版本都会出现这个问题。


注:转载请标明出处,谢谢。



0 0
原创粉丝点击