无法执行dex:多个dex文件定义了Lcom/myapp/R$数组;

自从更新到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创建一个新项目。
451566 次浏览

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

你可能已经安装r14,这个错误可能是由于平台工具更新造成的,你必须重新安装你的sdk

在清理了之前版本工具遗留的一些目录和文件后,我的问题得到了解决。ADT Rev 14更改二进制文件的存储位置。我删除了整个bin目录,重新启动Eclipse,清理构建并强制重新构建。起初,这似乎奏效了,但在下一次运行后,问题又出现了。

我最终发现我的bin目录包含在项目构建路径中。我将bin从构建路径中排除,并重复上述步骤。这解决了我的问题。

对我来说,这个问题只存在于我的项目中涉及的Android库项目。所以当我删除所有的库,并按照你说的那样,我可以再次运行我的应用程序。 如果涉及到库,即使是bin- remove -trick伎俩也行不通

我不明白为什么这个错误今天第一次出现,因为我现在使用ADT 14好几天了。不过还有其他虫子让我很开心。

ADT R14更新更改了类进入bin/classes目录的位置(参见http://tools.android.com/recent/buildchangesinrevision14)。如果使用ANT,则应该将类的路径从bin更改为bin/classes。这对我很管用。

当我从adt 14升级到15时,我遇到了这个问题,为了让它工作,我最终只是删除了。eclipse文件夹(连同我的设置),并重新安装adt 15。

在尝试了所有其他的建议都没有成功之后,我删除了我项目“bin”目录中的所有内容,然后再次运行eclipse,它工作了。

在阅读terry关于删除bin目录的回复和Larrys关于ANT目录位置的回复后:

我将位于我的项目BIN目录的文件移动到BIN/CLASSES和im启动和运行。

< p >编辑1 然后第二次运行失败…doh

< p >编辑2 所以关闭Eclipse移动文件回到原来的位置,它所有的工作…嗯什么? 我不想假装知道为什么会这样。

< p >编辑3 我从我的备份中注意到,在BIN目录和BIN/CLASSES中确实有重复的文件

至少对我来说,这是有效的。

我的解决方案:

  1. 备份您的代码!
  2. 导航到您的项目工作区(不是您的项目)并运行以下命令:

    dev1:workspace$ cd ~/Documents/workspace/.metadata/.plugins/ Dev1:workspace$ rm -rf org.eclipse.core.resources

  3. 导航到您的Eclipse目录并键入以下命令:

    Dev1:eclipse$ ./eclipse clear

    . eclipse clear

    . eclipse clear

    . eclipse clear

    . eclipse
  4. Eclipse将从一个空的工作空间开始—不用担心,您的项目仍然在那里。

    .

    .

我收到的确切错误: [2012-02-07 14:15:53 - Dex Loader] Unable to execute Dex: Multiple Dex files define Landroid/support/v4/view/PagerAdapter; [2012-02-07 14:15:53 - ProjectCloud] Conversion to Dalvik format failed: Unable execute dex: Multiple dex files define landoid /support/v4/view/PagerAdapter;

. txt . txt > /p> . txt
  1. 关闭eclipse。
  2. 删除项目文件夹中的bin文件夹。
  3. 启动eclipse并清理项目。
  4. 现在跑吧,问题就解决了

删除bin文件夹还不够,我还删除了gen文件夹。然后在两次重建后,dex错误消息消失了。

Project Explorer中选择项目,右键单击并选择属性 -> Java构建路径 -> ->选中允许源文件夹使用输出文件夹复选框

以上都没用。

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

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

清理所有项目并重建。

Voilla !

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

修改你的eclipse.ini文件并设置最大内存参数为

-Xmx1024m

然后重新启动计算机。

这对我很管用。

我从构建路径中删除了Android依赖项,它起作用了。

编辑:忽略它。我在maven依赖项和libs文件夹中有相同的jar。我移除了lib文件夹里的那个。

这个问题发生在我身上,我在我的libs文件夹中有一个外部的。jar,名为gson-2.2.2.jar,但出于某种原因,其中有两个,gson-2.2.2.jar和gson-2.2.2.jar(1),我简单地删除了后者,我的项目再次建立良好。

我将一个非库项目转换为库项目,但它在libs文件夹中有一个先前构建的jar文件。删除此jar文件将导致此错误消失。

当我在项目中添加ActionBarSherlock作为库时,我也遇到了类似的问题。Eclipse ADT v21.0预创建的dex文件据说是为了更快地构建项目。这些dex文件与lib文件夹中的一些jar文件相同。所以只保留一个,删除另一个。我删除了lib文件夹中的那些,因为dexed文件是自动生成的。

我也遇到了同样的问题,然后我看到在推动我的应用程序时,一些jar文件被加载了两次,因此有多个dex错误。只要去你的项目属性-> Java构建路径,并尝试取消选中jar,它被加载了两次。

对我来说,我只是右键单击项目->构建路径->配置构建路径->库->删除依赖项

在它起作用之后。

我有几个库项目,在AndroidManifest中指定了相同的包名(因此R.java不会生成重复的字段名)。我不得不从AndroidManifest.xml中删除所有库项目的任何权限和活动,以删除错误,因此Manifest.java没有多次创建。希望这能帮助到一些人。

正如其他人所提到的,当您的构建路径中有同一个类的多个副本时,就会发生这种情况——在类路径中包含bin/是保证这个问题的一种方法。

对我来说,这发生在我将android-support-v4.jar添加到我的libs/文件夹时,eclipse不知怎么地在bin/classes/android-support-v4.jar中添加了第二个副本。

删除bin/classes中的额外副本解决了问题-不确定Eclipse为什么要在那里复制。

你可以用

grep jar -r yourroffendingclassname YourApp | grep jar

我在/libs目录中有两个相关但不完全相同的guava库,在我删除了一个之后,问题就消失了。

在将facebooksdk.jar添加到已经依赖于android-support-v4.jar的项目后,我得到了这个错误。由于facebooksdk.jar已经包含了它自己的android-support-v4.jar,因此存在冲突。从项目属性/ Java构建路径/库中删除早期的android-support-v4.jar为我解决了这个问题。

对于我来说,我已经在我的builtPath中指向了一个jar文件,这实际上已经不在那个路径中了!

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

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

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

所以解决方案是:

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

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

[为我解决]

通过删除重复的库“JAR文件”,然后删除BuildConfig.java文件,Clean项目及其工作。

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

    [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,添加到库,清理和工作!我不会再有冲突了!(也没有更新或额外下载)

我在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)

我也遇到了同样的问题,非常奇怪,因为它只在使用Eclipse时发生(但在Ant中是OK的)。 这是我如何修复它:

  • 右键单击Project Name
  • 选择Build Path -> Configure Build Path
  • Java Build Path中,转到选项卡Order and Export

  • 取消选中.jar

< >强只有有时: 在Order和Export选项卡中,我没有任何jar库,所以我没有选中Android私有库项。现在我的项目正在运行

我遇到了这个问题,通过改变路径来解决。Jar用于更改目录,但是。罐子拉了另一边,改变了路径,我毫无问题地进入

如果您有两个包含相同类名的jar,则会发生此错误,例如,我有两个库:jsr311-api-1.1.1.jar和jersey-core-1.17.1.jar,它们都包含类javax.ws.rs.ApplicationPath。我删除了jsr311-api-1.1.1.jar,它工作得很好。

我也有同样的问题 无法在android中执行multipledex文件——lorg\xhtml\CSS

我删除了lib文件夹——core-renderer-3043e0f89ffb2.jar中的2个外部jar文件

core-renderer-minimal-e70d6 .jar和我的项目再次建立良好…

我的libs文件夹中有两个不同版本的Cordova .jar-files,我删除了我甚至不使用的那个,它马上就工作了。 很奇怪,因为我之前没有注意到,之前还能用,然后突然就不用了…

我基本上也面临着同样的问题。 我删除了BIN文件夹,然后从eclipse中删除了用于Order和Import的未使用的jar文件。 IT工作后,

以上的方法对我都不起作用,但我的方法就像一个咒语!

问题发生在用户使用eclipse构建依赖库时。为了得到解

步骤1:使用Delete workspace source从Eclipse中永久删除库(如支持库项目v4或v13)

重新导入库并将其包含到你的项目中

步骤3:清洁和重建

完成了!

在我的例子中,我删除了“src/com/..”目录中的“。apk”文件,清理项目并运行。

我已经尝试了之前所有的建议,但对我不起作用!

转换为Dalvik格式失败:无法执行dex:多个dex文件定义Lcom/谷歌/zxing/BarcodeFormat;

对于那些收到来自zxing的条码扫描器插件错误的人,发布这个答案。

只需删除libs文件夹中的jar文件。应该是project/libs/com.google.zxing.client.android.captureactivity.jar

发现了另一个发生此问题的场景: 问题是libs文件夹在项目首选项中被用作Source,因此导出了两次。 解决方法:右键单击libs文件夹->构建路径->从构建路径移除

我也面临着同样的问题。问题我发现我有一个库项目,在该项目的清单文件中,没有targetSdkVersion属性。我已经在(uses-sdk)标签下添加了该属性。然后清理我的项目。现在我的应用程序正常运行。

当我导入一个.jar文件(实际上它是httpmime-4.3.jar)并试图使用它时,出现了这个错误。对我来说,解决方案很简单:我从libs文件夹中删除了.jar文件,并从Order and Export中删除了它。再次运行项目,它工作了,所以我再次添加了.jar文件,最终它是好的。

这发生在我们的应用程序中,我们有gson jar的libs文件夹(例如:gson-2.2.4.jar)。 在sametime中,我们的谷歌播放服务库也已经有Gson

我已经从我的应用程序和its work fine now中删除它。

问题是,“Android依赖”保留了对旧AdMob SDK的引用,甚至在:

  • 从构建路径中移除旧的admob SDK
  • 蚂蚁清洁
  • eclipse清洁
  • 手动删除bin和gen文件夹
  • 关闭/打开eclipse
  • 更新SDK工具
  • 更新adt

解决方案是实际删除AdMob SDK JAR 从你的电脑,而不仅仅是从项目中删除。

检查您的bin文件夹不在构建路径中。

确保“android-support-v4.jar”是Java构建路径下的订购及出口选项卡中的无节制的

请遵循以下步骤:

  1. 项目属性
  2. Java Build路径
  3. 订购及出口
  4. 取消“android-support-v4.jar”

转到\bin\dexedLibs并删除已经删除的库的所有罐子,然后是清洁

[为我解决]

Eclipse项目属性->Java构建路径->订单和导出

取消勾选Android私有库。

项目/属性和Java 构建路径无节制的Android私人图书馆

This is another case for This kind error

完成

我在我的项目中通过删除一个库来解决这个问题:

原因:我在我的项目中包含了一个库项目,错误地没有从我的项目中删除之前的库,所以当我运行项目时,相同的库dex文件生成了两次,当我从项目的lib文件夹中删除相同的库时,错误消失了,构建成功创建,我希望其他人可能会面临同样的问题。

>Spliting谷歌Play Service可以帮助您: https://developers.google.com/android/guides/setup#split < / p >

所以除了添加游戏服务之外:

compile 'com.google.android.gms:play-services:7.5.0'

你只需要添加你需要的:

// Google Maps only
compile 'com.google.android.gms:play-services-maps:7.5.0'

我已经尝试了上面的大部分解决方案,在过去,其中一些是有效的。

但是这一次它们都不起作用,所以我删除了我的库项目的.jar文件。并重新构建库和应用程序项目。

这次成功了!

这是我在谷歌中搜索此错误时的顶部结果。

虽然这个问题没有问如何解决这个关于< em >反应本地< / em >的问题,但我认为无论如何我都要分享给那些在这里结束并且正在使用< em >反应本地< / em >的人。

从项目根运行:

  • cd android && ./gradlew clean [Mac - Bash终端]
  • cd android & gradlew clean [Windows -命令提示符]

然后react-native run-android来构建并再次运行。

如果你使用'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

从引用库中删除生成的R包。有时“清理和重建”不会删除旧的R生成的文件。