在路径上找不到类:dexpathlist

Posted

技术标签:

【中文标题】在路径上找不到类:dexpathlist【英文标题】:Didn't find class on path: dexpathlist 【发布时间】:2014-05-29 06:09:11 【问题描述】:

说真的,我不知道该怎么做才能解决这个问题。 我的 android 项目运行良好,直到我需要使用 Maven 导入库。从那以后,一切都开始崩溃了。

发生了什么:当我启动我的应用程序时,LogCat 上出现以下错误,android 告诉我我的应用程序停止工作。我已经在这里和互联网的其他地方搜索过这个类似的错误,但人们所做的一切都没有为我工作。

错误:

java.lang.RuntimeException:无法实例化活动 ComponentInfocom.example.buscaserra/com.buscaserra.main.ActivitySplash:java.lang.ClassNotFoundException:找不到类“com.buscaserra.main.ActivitySplash”在路径上:DexPathList[[zip 文件“/system/framework/com.google.android.maps.jar”,zip 文件“/data/app/com.example.buscaserra-2.apk”],nativeLibraryDirectories=[/data /app-lib/com.example.buscaserra-2, /vendor/lib, /system/lib]]

清单和包装:

构建路径:

拜托,我不知道还能做什么。我的项目截止日期快到了,我很绝望。 提前致谢。

【问题讨论】:

试图禁用maven性质,使用android“修复项目”,使项目干净,问题仍然存在。 你的 pom 是什么样子的? 几乎是空的。我唯一导入的库来自这个网站:https://github.com/koush/UrlImageViewHelper。尽管如此,即使禁用 maven,问题仍然存在。 如果您发布了您的 POM,可以帮助您获得答案。 对不起,我现在不在家,无法访问我的项目...但是我的 Pom 看起来像这样:创建一个新的 Pom,添加库的依赖项我在上面说了,就是这样。 【参考方案1】:

同样的问题。 对我有用的是将 android-support-v4.jar 添加为 lib 并确保在项目属性 -> 构建路径 -> 订单和导出上对其进行了检查。 有人提到here

【讨论】:

如何检查?我一直在 Android Studio 中寻找这个。我一开始就找不到属性。 这确实是针对基于 Eclipse 的 IDE,但我想您可以转到模块设置,然后查看依赖关系。【参考方案2】:

当我将项目文件夹从 Linux 机器移动到 Mac 时,我遇到了同样的问题。

我所做的是:

    关闭项目 删除 .iml 文件 使用“使用现有代码创建新项目”导入项目

我正在使用 IntelliJ。

干杯。

【讨论】:

【参考方案3】:

我执行了以下步骤来解决 Android Studio 上的问题。

打开文件./app/build.gradle 减少 compileSdkVersion(例如 22 -> 21) 点击“与 gradle 文件同步项目” 改回原来的compileSdkVersion(例如22) 点击“使用 gradle 文件同步项目”

重新编译,它应该可以工作。

【讨论】:

我不明白更改sdk版本如何解决这个dex问题...【参考方案4】:

我在这个愚蠢的问题上花了很多时间,但终于解决了:

当创建一个新项目时 -> 包名导致出现这个愚蠢的 dex 问题,在运行时无论部署什么设置都不能找到主要活动。 Android Studio 不喜欢我常用的一些包名,我完全懵了..我觉得这是个很大的 bug 哈哈

鉴于以下新项目参数:

名称:NotificationApp, 包名:com.stores.business.notificationapp, 保存位置:/home/me/AndroidStudioProjects/NotificationApp

我会收到以下错误: java.lang.RuntimeException:无法实例化活动 ComponentInfocom.stores.business.notificationapp/com.stores.business.notificationapp.MainActivity:java.lang.ClassNotFoundException:找不到类“com.stores.business.notificationapp .MainActivity" 路径:DexPathList[[zip file "/data/app/com.stores.business.notificationapp-2/base.apk"],nativeLibraryDirectories=[/data/app/com.cvs.stores.myapplication-2 /lib/arm64、/vendor/lib64、/system/lib64]] 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)

我的解决方案 我通过将包名称更改为:com.notificationapp 来解决它,然后 File->invalidate caches/Restart..希望这对其他人有帮助哈哈

【讨论】:

【参考方案5】:

您在构建路径上有任何必需的项目吗?无法从您的屏幕截图中分辨出来,但请检查您的“项目”选项卡。您可能无意中将项目库添加​​为必需项目。从 Projects 选项卡中删除项目,然后从 project -> properties 中删除。点击Android,将项目添加为库而不是在这里...

【讨论】:

【参考方案6】:

确保您在主项目中使用的所有兼容性库 jar(如 android-support-v4.jar)与您的主项目引用的任何项目中使用的版本相同。

我遇到了同样的问题,解决方法是从另一个库项目(我的主项目正在引用)复制并粘贴 android-support-v4.jar 并将其粘贴到我的主项目的 /libs 文件夹中。

【讨论】:

【参考方案7】:

我有同样的问题。 自从我上次编译以来,除了更新了 Android Studio 和 Gradle 之外,什么都没有改变。

我查看了 Build>Edit Build Types 下的构建选项,并注意到我的项目未运行和运行的项目之间的一个不同选项是 Minify Enable 选项。

我将它设置为 false,现在一切正常。

【讨论】:

【参考方案8】:

我应该通过看到“dex 错误”来理解问题。但是花了半天时间才解决了这个问题。 我按照 android 开发者页面的说明解决了这个问题:https://developer.android.com/studio/build/multidex.html

首先将它添加到我的 gradle.build 中:

defaultConfig 
...
minSdkVersion 14
targetSdkVersion 21
...

// Enabling multidex support.
multiDexEnabled true


dependencies 
  compile 'com.android.support:multidex:1.0.0'

然后我按照页面上的 MultiDexApplication 类文档的指示扩展我的 Application 类(或在 AndroidManifest.xml 中声明应用程序类或覆盖 attachBaseContext() 函数)。这解决了我的问题。

【讨论】:

以上是关于在路径上找不到类:dexpathlist的主要内容,如果未能解决你的问题,请参考以下文章

在路径上找不到类:dexpathlist

在路径上找不到类“android.support.multidex.MultiDexApplication”:DexPathList

Flutter 在启动时崩溃:在路径 DexPathList 上找不到类 .MainActivity

.ClassNotFoundException:在路径上找不到类“com.google.firebase.provider.FirebaseInitProvider”:DexPathList

Android ClassNotFoundException:在路径上找不到类:Dexpathlist

java.lang.ClassNotFoundException:在路径上找不到类:dexpathlist