问题标签 [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 投票
0 回答
1832 浏览

android - Android Studio - java.lang.RuntimeException:无法实例化应用程序

我正在eclipse中的一个项目上工作,但过了一段时间它给了我这样的错误"Unable to execute dex: method ID not in" as single DEX file having 65k method limitations.

为了克服这个问题,我想到了Gradle plugin v0.14.0 for Android adds support for Multi-Dex.所以我搬到了Android Studio。

我已经按照从 Eclipse 迁移更新了 SDK 并从 Eclipse 导出了项目。

现在我有了 Android Studio 所需的项目结构。它们是项目对 ABS、Google Play 服务库和 android multidex 支持库的依赖。我已将这些库添加到名为“libraries”的项目文件夹中。

项目 Gradle 文件如下所示:

当我清理并构建项目时,它会成功构建。但是当我将项目作为 android 应用程序运行时,出现以下错误:

我在想该应用程序没有编译 AndroidManifest.xml 或者我缺少什么?任何帮助将不胜感激。:)

0 投票
20 回答
249756 浏览

android - java.util.zip.ZipException:packageAllDebugClassesForMultiDex 期间出现重复条目

我不确定这个错误是什么意思。

我目前正在android-support-v4.jar为我的图书馆使用

gradle 同步期间不显示错误。就在我尝试运行应用程序时

可能是什么问题呢?

0 投票
2 回答
8261 浏览

android - Android gradle 插件 multidex ZipException

我正在尝试使用新的 multidex 选项,但出现以下错误:

我已经能够发现问题仅在运行connectedAndroidTests任务时发生,而不是在简单地构建项目(build)时发生。

0 投票
1 回答
1228 浏览

android - “不支持的方法:SourceProvider.getJniDirectories()”与“未找到 Gradle DSL 方法:'multiDexEnabled()'”

我有一个有很多依赖项的应用程序"Unable to execute dex: method ID not in [0, 0xffff]: 65536" after update repositories.

然后,我在这里找到了解决方案。

但是,按照这些说明进行操作后,我开始收到错误消息"Gradle DSL method not found: 'multiDexEnabled()".

然后,我发现解决方案是更新 gradle,通过添加 "classpath.'com.android.tools.build:gradle:0.14.0'" to dependencies.

然后,我开始收到错误"Unsupported method: SourceProvider.getJniDirectories()",我发现很多帖子说解决方案是将 gradle 设置回“0.13.+”。

但是,gradle 0.13.+ 无法识别 multiDexEnabled 并显示我的第一个错误"Gradle DSL method not found: 'multiDexEnabled()'"

我需要使用 multiDex,因为我使用了许多依赖项,而且我还使用了 Jni。因此,一种解决方案打破了另一种解决方案。

[更新] 可以提供帮助的信息:我将我的项目从 Eclipse 迁移到 Android Studio,因为我没有在 Eclipse 上找到 multidex 的解决方案。

有没有人有同样的问题?有解决方案吗?

谢谢!

0 投票
2 回答
2753 浏览

android - 多重索引后的 NoClassDefFoundError

在获得 65k 方法限制后,我实现了多索引。实施多索引后,我可以运行应用程序。但是现在我从外部 jar 中使用的类之一收到错误 NoClasDefFoundError 。

这是我的 gradle 文件——

0 投票
2 回答
3425 浏览

android - Android MultiDex - 关于内部工作的问题

我最近发现了来自 Android 的新 MultiDex 功能,用于处理具有 65,000 多个引用的应用程序。见:https ://developer.android.com/tools/building/multidex.html

有人可以帮我理解以下问题:

1) Gradle 构建插件如何确定在主 dex 文件 (classes.dex) 和辅助 dex 文件中放置什么?根据文档,主 dex 中需要某些东西,但它没有给出任何示例。所有活动都必须在主 dex 文件中吗?

引用文字:

在 Dalvik 运行时执行时,对于主 dex 文件中需要哪些类有复杂的要求。Android 构建工具更新处理 Android 需求,但其他包含的库可能有额外的依赖要求,包括使用自省或从本机代码调用 Java 方法。在更新 multidex 构建工具以允许您指定必须包含在主 dex 文件中的类之前,某些库可能无法使用。

2) 仅针对 Android API Level 21 (Android L) 及更高版本构建时,Gradle Build Plugin 中的行为有所不同。它说它要快得多,因为它“将应用程序的每个模块(包括依赖项)构建为单独的 dex 文件。这通常称为预 dexing。” Android中模块的定义是什么?这是这里提到的 Java 库、Android 库和 Android 应用程序模块:http: //developer.android.com/sdk/installing/studio-build.html#projectModules?远程或本地二进制依赖项(例如:Jars)是否算作单独的模块,因此会被放入不同的 dex 文件中,还是根据它们被包含在模块中?

0 投票
1 回答
2726 浏览

android - 未找到 MultiDexApplication

我正在尝试MultiDexApplication通过从我的BaseApplication.logcat

这是build.gradle

而我的BaseApplication延伸来自MultiDexApplication

这是我的Manifest

0 投票
1 回答
375 浏览

android - MultiDex - 未找到 QBUser Quickblox 类

尝试在我的应用程序中使用 Quickblox。Multidex apk 文件正确生成。但是,在尝试获取 QbUsers 类时存在运行时问题。

以下是代码:

例外:

java.lang.NoClassDefFoundError: com.quickblox.module.users.model.QBUser at com.sc.triumph.chatsingleton.ApplicationSingleton.setDialogsUsers(ApplicationSingleton.java:51) at com.sc.triumph.activities.UnjoinClubActivity$4$1.onSuccess (UnjoinClubActivity.java:394) 在 com.sc.triumph.activities.UnjoinClubActivity$4$1.onSuccess(UnjoinClubActivity.java:387) 在 com.quickblox.core.query.Query.notifySuccess(Query.java:307) 在 com。 quickblox.core.query.Query$VersionEntityCallback.completedWithResponse(Query.java:339) 在 com.quickblox.core.query.Query.completedWithResponse(Query.java:253) 在 com.quickblox.core.server.HttpRequestRunnable$1.handleMessage (HttpRequestRunnable.java:38) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os。Looper.loop(Looper.java:137) 在 android.app.ActivityThread.main(ActivityThread.java:4963) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke( Method.java:511) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) 在 dalvik.system .NativeStart.main(本机方法)java:805) 在 dalvik.system.NativeStart.main(Native Method)java:805) 在 dalvik.system.NativeStart.main(Native Method)

如果在非 multidex 应用程序中使用相同的功能,它工作正常。

期待帮助以了解可能是什么问题?

0 投票
1 回答
6220 浏览

android - android-support-multidex.jar 在 Eclipse 中不起作用

最近我在我的 android 项目中遇到了 65K 方法限制问题。然后我开始在那个项目中实现multidex。当我尝试在 eclipse 中添加这个支持库时,问题没有解决。仍然显示65K的限制。但是当它在 Gradle+Android 工作室中工作正常时。我怎样才能在eclipse中实现这一点?因为我现在不想切换到 Android Studio。

这是我遵循的步骤,

1) 将 android-support-multidex.jar 添加到构建路径中,2) 覆盖 Application 类中的以下方法。因为我是自定义应用程序类的子类。

但我无法在eclipse中实现这一点。有什么解决办法吗?

0 投票
0 回答
1245 浏览

android - 错误:任务“:shrinkDebugMultiDexComponents”执行失败

我收到以下错误:

该问题存在于任何更高版本中gradle"com.android.tools.build:gradle:0.14.1"

我不确定外面发生了什么。有没有人遇到过这样的问题?