当前位置:   article > 正文

项目报错:Caused by: java.lang.ClassNotFoundException: Didn't find class "..."on path: DexPathList_caused by: java.lang.classnotfoundexception: didn'

caused by: java.lang.classnotfoundexception: didn't find class

项目报错:

 Caused by: java.lang.ClassNotFoundException: 
 Didn't find class "com.eshore.njb.MyApplication" on path: 
 DexPathList[
 [zip file "/data/app/com.example.administrator.njb-1/base.apk"],
 nativeLibraryDirectories=
 [/data/app/com.example.administrator.njb-1/lib/arm64, /system/lib64, /vendor/lib64, /system/vendor/lib64, /product/lib64]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

原因:

解决方法:

Android的项目目录里是有两个build文件夹的,一个是:项目目录/app/build,另一个是:项目目录/build。

这里写图片描述

把两个build都删掉,然后重新编译运行即可。

注意:在提交代码的时候两个build是不应该提交的。

参考:

安卓开发-Didn’t find class “” on path: DexPathList 错误

额外知识:

dex文件:

在Android系统中,dex文件是可以直接在Dalvik虚拟机中加载运行的文件。通过ADT,经过复杂的编译,可以把java源代码转换为dex文 件。 那么这个文件的格式是什么样的呢?为什么Android不直接使用class文件,而采用这个不一样文件呢?其实它是针对嵌入式系统优化的结 果,Dalvik虚拟机的指令码并不是标准的Java虚拟机指令码,而是使用了自己独有的一套指令集。如果有自己的编译系统,可以不生成class文件, 直接生成dex文件。dex文件中共用了很多类名称、常量字符串,使它的体积比较小,运行效率也比较高。但归根到底,Dalvik还是基于寄存器的虚拟机 的一个实现。

build文件夹:
代码编译后生成的文件存放的位置

报错二:

阿里云推送出现:

08-30 16:43:37.917 13303-13480/com.dch.dai I/zygote64: 

Caused by: java.lang.ClassNotFoundException: 

Didn't find class "com.taobao.orange.OrangeConfigListenerV1" on path: 
DexPathList[[zip file "/data/app/com.dch.dai-7AxXfXOeKbkN7nkIXa89ww==/base.apk"],
nativeLibraryDirectories=[/data/app/com.dch.dai-7AxXfXOeKbkN7nkIXa89ww==/lib/arm64,
/system/fake-libs64, 
/data/app/com.dch.dai-7AxXfXOeKbkN7nkIXa89ww==/base.apk!/lib/arm64-v8a,
/system/lib64, 
/vendor/lib64, 
/product/lib64]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

这里写图片描述

解决:

不用管
https://help.aliyun.com/knowledge_detail/52813.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/507638?site
推荐阅读
相关标签
  

闽ICP备14008679号