问题标签 [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.
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 中可用的应用程序类。
java - 多索引后的java.lang.NoClassDefFoundError城市飞艇
在 kitkat 三星平板电脑和 kitkat 三星手机上运行我的应用程序时出现以下错误,但在 5.1 nexus 5 上没有
在使用 multidex 之前,应用程序运行良好,但是在添加了一个大库并且不得不使用 multidex 之后,我得到了这个错误
android - 在 multidex 应用程序中加速 gradle 构建
我的应用程序有一堆必不可少的库,这就是为什么我被迫使用 multidex 支持库并且它运行良好的原因。但问题出在 gradle buid 速度上。构建平均需要 2 分钟,当我开发和测试时,这非常烦人。
有没有办法加快我的调试构建?
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 文件
android - MultiDex 不适用于“android.uid.system”
我创建了具有多个依赖项的 Android 应用程序,并且超过了 65,536 个方法限制。为了解决这个问题,我使用了Google guide。
不幸的是,当我添加android:sharedUserId="android.uid.system"
到AndroidManifest.xml时出现异常:
这表明 MultiDex 在启动过程中无法正常工作,因为apk中有classes.dex和classes2.dex。
是的,我有权使用android.uid.system
,并且在其他情况下也可以正常工作。
有没有办法解决这个问题?
android - java.util.zip.ZipException:重复条目:android/support/v4/accessibilityservice/AccessibilityServiceInfoCompatJellyBeanMr2.class
我正在将我的项目集成到 android studio 中的另一个应用程序中,但它显示以下错误,我正在谷歌搜索该问题但没有用。
下面是我的应用程序依赖项
这是我的库依赖项
android - 使用 Adobe Flash Builder 创建 Multidex 应用程序
我有一个 Actionscript Mobile 项目,我正在使用 flash builder 4.7 处理该项目,其中包含很多 ANE。最近的一个已经将我们推到了 65k 方法参考限制之上。我找不到在应用程序中正确包含或实现 multidex 支持库的方法。以前有没有人用 flash builder 做过这个?
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
android - 为什么我会收到重复的条目:com/google/common/base/FinalizableReference.class?
当我将 Microsoft Azure 移动服务 SDK 添加到我的项目时:
我收到此错误:
可能是什么原因,我该如何解决?
我猜我可以为 Gradle 制定一些排除规则,但那会是什么样子?
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 限制的库并删除多索引时,应用程序构建良好。