问题标签 [android-multidex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1835 浏览

android - 执行 packageAllDebugClassesForMultiDex 任务时 Android Studio 多 dex 错误

我正在为我的项目实施多 dex。我能够在实现 multidex 之后编译代码,但是在运行项目时,我在执行 packageAllDebugClassesForMultiDex 任务时遇到下面提到的错误。错误:任务 ':appname:packageAllDebugClassesForMultiDex' 执行失败。

java.util.zip.ZipException:重复条目:android/support/multidex/MultiDex.class

依赖项列表:-

下面是我的项目结构。

库 A 包含我的应用程序类。我在其中实现了multidex。库 B 和库 C 依赖于库 A 我的启动项目 D 依赖于库 B 和库 C。库 D android 清单我已经定义了库 A 中可用的应用程序类。

0 投票
0 回答
508 浏览

java - 多索引后的java.lang.NoClassDefFoundError城市飞艇

在 kitkat 三星平板电脑和 kitkat 三星手机上运行我的应用程序时出现以下错误,但在 5.1 nexus 5 上没有

在使用 multidex 之前,应用程序运行良好,但是在添加了一个大库并且不得不使用 multidex 之后,我得到了这个错误

0 投票
7 回答
10663 浏览

android - 在 multidex 应用程序中加速 gradle 构建

我的应用程序有一堆必不可少的库,这就是为什么我被迫使用 multidex 支持库并且它运行良好的原因。但问题出在 gradle buid 速度上。构建平均需要 2 分钟,当我开发和测试时,这非常烦人。

有没有办法加快我的调试构建?

0 投票
1 回答
5201 浏览

android - com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException

我正在使用 Android Studio 1.2.2。我已经集成了 maps 4 work sdk,在此之后构建失败,我们在我们的项目中使用 google play services lib(仅使用 com.google.android.gms.tagmanager.*)。现在集成 googlemaps_sdk_m4b_lib 后,构建没有生成。在此之前

尝试寻找仅包含 google_play_services_lib 的 tagmanager 部分,但它不能作为依赖项使用。

构建失败并显示以下内容:

:nFarmers:dexDebug AGPBI: {"kind":"SIMPLE","text":"UNEXPECTED TOP-LEVEL ERROR:","position":{},"original":"UNEXPECTED TOP-LEVEL ERROR:"} AGPBI: {"kind":"SIMPLE","text":"java.lang.OutOfMemoryError: GC 开销限制超出","position":{},"original":"java.lang.OutOfMemoryError: GC 开销限制超出"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:371)","position":{},"original" :"\tat com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:371)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.参见 cst。ConstantPoolParser.parse0(ConstantPoolParser.java:262)","position":{},"original":"\tat com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:262)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:150)","position":{},"original":" \tat com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:150)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf. cst.ConstantPoolParser.parseIfNecessary(ConstantPoolParser.java:124)","position":{},"original":"\tat com.android.dx.cf.cst.ConstantPoolParser.parseIfNecessary(ConstantPoolParser.java:124)"} AGPBI:{“种类”:“SIMPLE","text":"\tat com.android.dx.cf.cst.ConstantPoolParser.getPool(ConstantPoolParser.java:115)","position":{},"original":"\tat com.android. dx.cf.cst.ConstantPoolParser.getPool(ConstantPoolParser.java:115)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.DirectClassFile.parse0( DirectClassFile.java:482)","position":{},"original":"\tat com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:482)"} AGPBI: {"kind" :"SIMPLE","text":"\tat com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)","position":{},"original":"\tat com. android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)","position":{},"original ":"\tat com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx .cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)","position":{},"original":"\tat com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251 )"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.parseClass(Main.java:764)","position":{}, “原文”:“\tat com.android.dx。command.dexer.Main.parseClass(Main.java:764)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.access$1500(Main .java:85)","position":{},"original":"\tat com.android.dx.command.dexer.Main.access$1500(Main.java:85)"} AGPBI: {"kind" :"SIMPLE","text":"\tat com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684)","position":{},"original":"\tat com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command. dexer.Main.processClass(Main.java:749)","position":{},"original":"\tat com.android.dx.command.dexer.Main.processClass(Main.java:749)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.processFileBytes(Main.java:718)", "position":{},"original":"\tat com.android.dx.command.dexer.Main.processFileBytes(Main.java:718)"} AGPBI: {"kind":"SIMPLE","text" :"\tat com.android.dx.command.dexer.Main.access$1200(Main.java:85)","position":{},"original":"\tat com.android.dx.command.dexer .Main.access$1200(Main.java:85)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main. java:1645)","position":{},"original":"\tat com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1645)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)", "position":{},"original":"\tat com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)"} AGPBI: {"kind":"SIMPLE","text" :"\tat com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)","position":{},"original":"\tat com.android.dx.cf.direct. ClassPathOpener.processOne(ClassPathOpener.java:166)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) ","位置":{},"原始":"\tat com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command .dexer.Main.processOne(Main.java:672)","position":{},"original":"\tat com.android.dx.command.dexer.Main.processOne(Main.java:672)" } AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.processAllFiles(Main.java:569)","position":{},"original ":"\tat com.android.dx.command.dexer.Main.processAllFiles(Main.java:569)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx .command.dexer.Main.runMultiDex(Main.java:366)","position":{},"original":"\tat com.android.dx.command.dexer.Main.runMultiDex(Main.java:366)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.run(Main. java:275)","position":{},"original":"\tat com.android.dx.command.dexer.Main.run(Main.java:275)"} AGPBI: {"kind":" SIMPLE","text":"\tat com.android.dx.command.dexer.Main.main(Main.java:245)","position":{},"original":"\tat com.android. dx.command.dexer.Main.main(Main.java:245)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.Main.main(Main. java:106)","position":{},"original":"\tat com.android.dx.command.Main.main(Main.java:106)"}{"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.run(Main.java:275)","position":{},"original":" \tat com.android.dx.command.dexer.Main.run(Main.java:275)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command。 dexer.Main.main(Main.java:245)","position":{},"original":"\tat com.android.dx.command.dexer.Main.main(Main.java:245)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.Main.main(Main.java:106)","position":{},"original":" \tat com.android.dx.command.Main.main(Main.java:106)"}{"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.run(Main.java:275)","position":{},"original":" \tat com.android.dx.command.dexer.Main.run(Main.java:275)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command。 dexer.Main.main(Main.java:245)","position":{},"original":"\tat com.android.dx.command.dexer.Main.main(Main.java:245)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.Main.main(Main.java:106)","position":{},"original":" \tat com.android.dx.command.Main.main(Main.java:106)"}275)","position":{},"original":"\tat com.android.dx.command.dexer.Main.run(Main.java:275)"} AGPBI: {"kind":"SIMPLE" ,"text":"\tat com.android.dx.command.dexer.Main.main(Main.java:245)","position":{},"original":"\tat com.android.dx. command.dexer.Main.main(Main.java:245)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.Main.main(Main.java: 106)","位置":{},"原始":"\tat com.android.dx.command.Main.main(Main.java:106)"}275)","position":{},"original":"\tat com.android.dx.command.dexer.Main.run(Main.java:275)"} AGPBI: {"kind":"SIMPLE" ,"text":"\tat com.android.dx.command.dexer.Main.main(Main.java:245)","position":{},"original":"\tat com.android.dx. command.dexer.Main.main(Main.java:245)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.Main.main(Main.java: 106)","位置":{},"原始":"\tat com.android.dx.command.Main.main(Main.java:106)"}Main.main(Main.java:245)","position":{},"original":"\tat com.android.dx.command.dexer.Main.main(Main.java:245)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.Main.main(Main.java:106)","position":{},"original":"\tat com.android.dx.command.Main.main(Main.java:106)"}Main.main(Main.java:245)","position":{},"original":"\tat com.android.dx.command.dexer.Main.main(Main.java:245)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.Main.main(Main.java:106)","position":{},"original":"\tat com.android.dx.command.Main.main(Main.java:106)"}

失败的

FAILURE:构建失败并出现异常。

  • 出了什么问题:任务 ':nFarmers:dexDebug' 执行失败。

    com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command'/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java'' 完成非零退出值 3

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。

构建失败

总时间:1 分 24.059 秒

我的应用程序的 build.gradle 文件

0 投票
0 回答
183 浏览

android - MultiDex 不适用于“android.uid.system”

我创建了具有多个依赖项的 Android 应用程序,并且超过了 65,536 个方法限制。为了解决这个问题,我使用了Google guide

不幸的是,当我添加android:sharedUserId="android.uid.system"AndroidManifest.xml时出现异常:

这表明 MultiDex 在启动过程中无法正常工作,因为apk中有classes.dexclasses2.dex

是的,我有权使用android.uid.system,并且在其他情况下也可以正常工作。

有没有办法解决这个问题?

0 投票
4 回答
18743 浏览

android - java.util.zip.ZipException:重复条目:android/support/v4/accessibilityservice/AccessibilityServiceInfoCompatJellyBeanMr2.class

我正在将我的项目集成到 android studio 中的另一个应用程序中,但它显示以下错误,我正在谷歌搜索该问题但没有用。

下面是我的应用程序依赖项

这是我的库依赖项

0 投票
1 回答
518 浏览

android - 使用 Adob​​e Flash Builder 创建 Multidex 应用程序

我有一个 Actionscript Mobile 项目,我正在使用 flash builder 4.7 处理该项目,其中包含很多 ANE。最近的一个已经将我们推到了 65k 方法参考限制之上。我找不到在应用程序中正确包含或实现 multidex 支持库的方法。以前有没有人用 flash builder 做过这个?

0 投票
1 回答
525 浏览

android - Android 4.4.4 上的 FlexJson ClassNotFound 异常

我有一个适用于 Android 设备的 multidex 项目。我使用 Flexjson。我已经用 flexjson 3.3 和 2.x 对其进行了测试。

它在 android 5.x 中运行良好,但在 Android 4.4.4 中崩溃。

看起来 Dex 支持库不适用于较旧的 Android 版本,但我无法确定。

这是我的堆栈跟踪:

编辑:我已经向 Android 开发团队提出了一个问题,他们已经注意到这个错误是一个特性,即使它在后面的版本中运行得很好。如果有人觉得这很烦人,请尝试为重新开放投票:https ://code.google.com/p/android/issues/detail?id=178607

0 投票
2 回答
1844 浏览

android - 为什么我会收到重复的条目:com/google/common/base/FinalizableReference.class?

当我将 Microsoft Azure 移动服务 SDK 添加到我的项目时:

我收到此错误:

可能是什么原因,我该如何解决?
我猜我可以为 Gradle 制定一些排除规则,但那会是什么样子?

0 投票
0 回答
106 浏览

android - collectMultidex 任务在 manifest.xml 的错误位置查找

尝试为超过 65K 的应用程序启用多 dexing 时,请遵循此处的 android 开发人员页面指定的指南

在我的应用程序 build.gradle 中,我指定:

在运行构建时,我收到此错误,

错误:发现任务 ':myapp:collectDebugMultiDexComponents' 的配置有问题。

为属性“清单”指定的文件“C:\Android Projects\myappapp\build\intermediates\manifests\full\debug\AndroidManifest.xml”不存在。

接受任何建议或建议,以将多 dex 任务正确定向到实际的 AndroidManifest.xml 路径。删除导致应用程序超过 64k 限制的库并删除多索引时,应用程序构建良好。