Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/google/gson/JsonDeserializer;
这个错误是由于错误的添加了不必要的core library或重复添加了同一个library jar包产生冲突造成的。
我之前也试过,我是多添加了Android.jar之后报错,把不要用掉的包给去掉就好了。我本来把android.jar已经单独弄成了一个User Library了,最后还用add extenerl jar
的方式添加了它,所以错了,删除多余的android.jar就ok。下面是一些解决办法,我开始弄了一会,不行。
另外,android低版本工程(如2.2)放到高版本环境中(如4.0)可能会上述错误,解决方法如下:
1。 如果不修改android sdk版本,则使用project clean 命令作用于某工程即可。
(该处理方式只是在高版本中兼容了低版本工程,未真正意义上的升级)
2。 如果修改android sdk版本,则需要以下几个步骤:
1)修改SDK 选择工程,build path --> configure build path ---> library 删除引用的低版本SDK, 然后add External JARs,选择高版本SDK,OK,保存
2)修改classpath文件该文件可能存在该项: <classpathentry kind="lib" path ="你所指定的高版本的地址"把她修改成<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" />,这种方法不一定就是这种情况,要根据自己项目的classpath文件的具体内容来修改,可以和没有问题的项目比对一下做个参考。
比如,我遇到的问题就是:classpath文件中多了一条<classpathentry kind="src" path="libs"/> 导致引入jar包重复的。
3) 修改AndroidManifest.xml在AndroidManifest.xml文件中,application标签后添加<uses-sdk android:minSdkVersion="3"></uses-sdk>
4) 修改default.properties(很重要)该文件最后一行(前面没用#的)target=android-8 该成target=android-18(这个是你最新SDK的版本号,4.0好像就是18吧),保存。
再看看你的工程和新建的android 4.0的工程结构就一样了。