java - 无法实例化应用程序 android.support.multidex.MultiDexApplication : java. lang.ClassNotFoundException: 在路径上:DexPathList

标签 java android android-studio android-gradle-plugin build.gradle

你好吗?我仔细搜索了这个问题,但似乎没有关于为什么以及如何解决这个问题的完整答案。

好吧,一开始我运行的是 Android Studio 1.5.1,它的 gradle 和 sdk 版本已经完全过时了,但当时我觉得可以使用那些旧版本,但现在我将所有这些更新到 android 2.3.1 最新的 SDK 和最新的 Gradle。

正如您可能已经知道的那样,如果我直接从 Android Studio 运行它工作正常,但是当我复制我的 app_debug.apk 文件时它突然显示错误

 Unable to instantiate application android.support.multidex.MultiDexApplication: java.lang.ClassNotFoundException: Didn't find class "android.support.multidex.MultiDexApplication" on path: DexPathList[[zip file "/data/app/com.asd.asd.asd1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]

我已经对这个特定的错误应用了很多解决方案,其中一个成功的是在 modul:app gradle from 中更改了我的 gradel 版本

classpath 'com.android.tools.build:gradle:2.3.1'

classpath 'com.android.tools.build:gradle:2.2.3'

但后来我尝试了我之前制作的所有其他应用程序并应用了相同的方法。奇怪的是,它没有用。

而且我认为我在这里遗漏了一些东西,但我不知道是什么,我不想启用 multiDexEnabled,因为我认为这不是解决此问题的好方法。

谢谢。

最佳答案

你所要做的就是在gradle中启用Multidex

defaultConfig{
     multiDexEnabled true
}

否则,您需要尽量减少对依赖项的使用。如果你坚持使用那些依赖,你需要在这些依赖中排除模块android支持模块..

例如,我的列表中已经有 appcompat-v7。所以从第三方库中排除模块 appcompat-v7。

compile ('uk.co.chrisjenx:calligraphy:2.2.0'){
        exclude group: 'com.android.support', module: 'appcompat-v7'
        transitive = false
}

关于java - 无法实例化应用程序 android.support.multidex.MultiDexApplication : java. lang.ClassNotFoundException: 在路径上:DexPathList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43864035/

相关文章:

java - 报告 ProGuard 优化删除的内容

android - 带有 Android Camera Surfaceview 的 OpenCv

java - 如何修复合并 list 错误

android - 无法在 Android Studio 上打开本地终端(在 Mac 上)

java - 在链接特定行的 Eclipse 中编写评论

java - Google places API 返回单一类型 "car_repair"

java - 将静态上下文中已弃用的 Java Date 替换为 Calendar.set 或 GregorianCalendar.set

java - 处理 NullPointerException 在 ArrayList 中找不到记录

java - 使用 Canvas 创建 3D 立方体

android - 如何对洛蒂的动画进行更改