在路径上找不到类: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的主要内容,如果未能解决你的问题,请参考以下文章
在路径上找不到类“android.support.multidex.MultiDexApplication”:DexPathList
Flutter 在启动时崩溃:在路径 DexPathList 上找不到类 .MainActivity
.ClassNotFoundException:在路径上找不到类“com.google.firebase.provider.FirebaseInitProvider”:DexPathList