自从更新到ADT 14,我不能再构建我的项目。它在更新之前构建得很好。

错误:

[2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
[2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;

类似的问题也有报道,我尝试了其中的建议,包括

重新启动Eclipse。 清理项目和重建-禁用“项目->自动生成”选项,然后“清理”和“生成”项目,然后尝试运行。将“自动构建”选项重置为开启 重新安装Android开发者工具 重新安装Eclipse(更新到最新版本3.7.1) 创建一个从文件系统导入的新项目 从subversion创建一个新项目。


当前回答

我来晚了,但加上我自己的经验,这样我以后可以再找:)

我在升级android sdk和eclipse插件后遇到了这个问题。没有升级不受惩罚!

我的问题与库项目有关,我的应用程序引用标准java项目和android库项目。我注意到Java Build Path设置在Source列表中包含了android库项目src和res文件夹(为每个在Source中提到bin的人投票,src和res也是一个问题)。

所以解决方案是:

在source列表和project列表的Java Build Path部分中删除所有引用的Android库源代码和项目引用 确保项目列表中列出了纯java依赖项,并在Order和Export选项卡中勾选,以便类包含在apk中 确保所有Android库依赖都列在项目属性的Android部分,在选中SDK版本下面的库部分。

从其他解决方案中拼凑出所有这些解决方案需要很长时间!唷!

其他回答

我相信找到解决方案了??

    [2013-04-28 23:56:09 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/coremedia/iso/AbstractBoxParser$1;

它说:“Lcom/coremedia/iso/AbstractBoxParser$1”,这恰好是我导入的导致问题的库的位置。查找com.codemedia.iso.AbstractBoxParser$1.class和.AbstractBoxParser.class....取出这个罐子,解包它,删除这两个文件,然后重新打包为.zip,添加到库,清理和工作!我不会再有冲突了!(也没有更新或额外下载)

如果你使用com.google.android.gms:play-services 你可以在下面的列表中添加你真正需要看的东西:

谷歌+ com.google.android.gms: play-services-plus: 10.0.1

谷歌帐号登录 com.google.android.gms: play-services-auth: 10.0.1

谷歌动作,基本客户端库 com.google.android.gms: play-services-base: 10.0.1

谷歌地址API com.google.android.gms: play-services-identity: 10.0.1

Firebase应用程序索引 com.google.firebase: firebase-appindexing: 10.0.1 谷歌分析 com.google.android.gms: play-services-analytics: 10.0.1

谷歌意识 com.google.android.gms: play-services-awareness: 10.0.1

谷歌把 com.google.android.gms: play-services-cast: 10.0.1

谷歌云消息 com.google.android.gms: play-services-gcm: 10.0.1

谷歌驱动 com.google.android.gms: play-services-drive: 10.0.1

谷歌健康 com.google.android.gms: play-services-fitness: 10.0.1

谷歌位置和活动识别 com.google.android.gms: play-services-location: 10.0.1

谷歌地图 com.google.android.gms: play-services-maps: 10.0.1

谷歌手机广告 com.google.android.gms: play-services-ads: 10.0.1

谷歌的地方 com.google.android.gms: play-services-places: 10.0.1

移动的愿景 com.google.android.gms: play-services-vision: 10.0.1

谷歌附近 com.google.android.gms: play-services-nearby: 10.0.1

谷歌全景查看器 com.google.android.gms: play-services-panorama: 10.0.1

谷歌播放游戏服务 com.google.android.gms: play-services-games: 10.0.1

社保网 com.google.android.gms: play-services-safetynet: 10.0.1

Android支付 com.google.android.gms: play-services-wallet: 10.0.1

Android穿 com.google.android.gms: play-services-wearable: 10.0.1

我在GooglePlayService库项目google-play-services.jar中得到了同样的错误消息。

我们使用maven,因此我必须在本地maven存储库中添加库。(mvn install:install-file -Dfile=xxx)

现在这个库在“Java Build Path”中出现了两次——> Libraries。

在Android依赖项中 在Maven依赖项中。

为了解决这个问题,我需要从google-play-services_lib/libs目录中删除这个库(它是自动使用的jar)

尝试删除R.java并让eclipse重新生成它。

以上这些都没用。 这最终是个简单的问题。

我有一个使用FacebookSDK和ViewPagerIndicator作为图书馆项目的项目。 所有这些都是基于Android API 16构建的,这两个项目使用了Android支持库vX (X不是16!)

我添加了一个外部JAR到这两个项目,并指向\extras\android\v4… 并且还删除了v4 jar我在他们的libs文件夹。

清理所有项目并重建。

用黄油!

我收到的确切错误:无法执行dex:多个dex文件定义Landroid/support/v4/view/PagerAdapter;转换为Dalvik格式失败:无法执行dex:多个dex文件定义landoid /support/v4/view/PagerAdapter;