Android Studio-Didn't find class XXX on path: DexPathList [zip file "/data/app/packagename/base.apk]

转载地址:https://blog.youkuaiyun.com/qq_32452623/article/details/77168446

 

错误描述

错误表现在:安装成功后,点开应用就 Crash 。

就是之前正常的项目,某一天就突然这样的,我也很是无语。

错误提示很长,主要信息就是下面这些信息:

<span style="color:#000000"><code>Caused <span style="color:#000088">by</span>: 
java.lang.ClassNotFoundException: Didn't find class <span style="color:#009900">"XXX"</span> <span style="color:#000088">on</span> path:
DexPathList[[zip file <span style="color:#009900">"/data/app/com.chemao.certification-2/base.apk"</span>],
nativeLibraryDirectories=[/data/app/com.chemao.certification-<span style="color:#006666">2</span>/lib/arm, /vendor/lib, /system/lib]]                                                     </code></span>
<span style="color:#000000"><code>
Caused <span style="color:#000088">by</span>: 
java.lang.NoClassDefFoundError: <span style="color:#000088">Class</span> <span style="color:#000088">not</span> found <span style="color:#000088">using</span> the boot <span style="color:#000088">class</span> loader; no stack available</code></span>

错误解决

在网络上搜了这类问题的解决方案。分以下几种:

1.so 库加载的问题,解决方法是请合理设置 abiFilters; 
2.gradle 版本和 gradle tools 的版本问题 
3.Android Studio clean 和 rebuild 后就能解决。 
4.检查 Android Studio 的 instant run 是否开启,若开启,请关闭。

但是,很遗憾,我的都不是。

我一直相信应该不是代码的问题,因为这个问题是某一天突然出现的,而且是偶现。然后今天另外一个刚刚还好好的项目,运行也出现了此类问题, 所幸是上午刚提交过,使用 git status 命令发现修改了以下文件:

这里写图片描述

改动范围是:

这里写图片描述

于是我在 Project Structure 中检查了JDK 路径的设置,如下,使用的是以下路径 Android Studio 中内置的 JDK。

这里写图片描述

然后我修改为电脑本地下载的 JDK路径,如下:

这里写图片描述

这种方法解决了我两个项目报的这个错误。


更新

现实实力打脸,今天这个错误又再次浮现了,看来不是 JDK 的锅呢。

解决方法:

删除项目结构中的 .gradle 文件夹,然后重新运行安装,即可正常打包。

如果失败,请尝试再次删除.gradle 和.idea 文件,重启 Android Studio ,然后再尝试。

错误思考

之所以 didn’t find class 找不到类,就是因为类在编译打包的过程中,没有打包上。

如果是因为 so 库的原因,我还能理解,但是我这个 JDK 路径的原因和解决方法,表示真的很是困惑,思考不出来原因,至今都很是费解。

本来以为是JDK 设置的问题,但是后来问题又出现了,删除 .gradle 文件夹后,重新编译安装,问题解决。看来问题并不是那么简单。

心好累,这个问题解决的好像补补丁一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值