安卓开发-Didn't find class XX.calss on path: DexPathList 错误

2023-10-17 11:59

本文主要是介绍安卓开发-Didn't find class XX.calss on path: DexPathList 错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天遇到了一个找不到类的错误,花了半天时间终于搞定了。解决的办法让我很无语,也让我觉得AndroidStudio更恶心了。

先来看错误的日志​:

04-18 10:02:27.570 24923-24923/com.eastsoft.android.esbic E/CrashReport: android.view.InflateException: Binary XML file line #62: Error inflating class com.example.administrator.demo.city.CityPicker at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:707) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:397) at android.view.LayoutInflater.inflate(LayoutInflater.java:353) at com.eastsoft.android.esbic.fragment.MainFragment$1.onClick(MainFragment.java:67) at android.view.View.performClick(View.java:4438) at android.view.View$PerformClick.run(View.java:18422) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.administrator.demo.city.CityPicker" on path: DexPathList[[zip file "/data/app/com.eastsoft.android.esbic-2.apk", zip file "/data/data/com.eastsoft.android.esbic/code_cache/secondary-dexes/com.eastsoft.android.esbic-2.apk.classes2.zip"],nativeLibraryDirectories=[/data/app-lib/com.eastsoft.android.esbic-2, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:497) at java.lang.ClassLoader.loadClass(ClassLoader.java:457) at android.view.LayoutInflater.createView(LayoutInflater.java:559) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)  at android.view.LayoutInflater.inflate(LayoutInflater.java:492)  at android.view.LayoutInflater.inflate(LayoutInflater.java:397)  at android.view.LayoutInflater.inflate(LayoutInflater.java:353)  at com.eastsoft.android.esbic.fragment.MainFragment$1.onClick(MainFragment.java:67)  at android.view.View.performClick(View.java:4438)  at android.view.View$PerformClick.run(View.java:18422)  at android.os.Handler.handleCallback(Handler.java:733)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:136)  at android.app.ActivityThread.main(ActivityThread.java:5017)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:515)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)  at dalvik.system.NativeStart.main(Native Method) 


出错的原因:

这里一定要交待一下出错的原因,因为我不知道其他人出现这个错误的原因是否和我相同,如果不同的话不知道同样的解决办法有没有用。

1、使用了别人的代码,里边包含了自定义的View,将xml中的包名修改成自己的(修改之前编译过一次,当然是报错的)。

排查:

先是在网上找,找来找去大概说的都是v4库的版本不一样,照着这个方法操作了之后却不好使。是因为方法过时了吗?还是说引起这个错误的原因有很多,但是错误日志都一个尿性?

找来找去找不到办法,只好自己排查。

​一、首先我们仔细看错误日志,这里有几个关键:

1、Didn't find class ​,说明没有找到类文件,但是我们的类明明在啊

2、​on path: DexPathList,说明是在这个名为“DexPathList”里找不到我们的类

所以我们要搞清楚​DexPathList是个什么玩意。然而我找了半天没找到,只好在项目里试着搜索相关的东西。

​二、找到项目里的关键文件

项目里到底哪里对这些文件进行了索引呢?因为我出错的原因是对目录的名字进行了修改,所以我想到的是去搜索原先项目的名字。搜出来真的好多啊。

不过我们在搜出来的东西的最下面,可以找到这么一个东西:

​这里有个dex项,很像是它哦,看看它是个什么东西。仔细看这东西的目录结构:

​从目录我们可以看出来这个东西是在项目目录的app/build/里面。既然是build的,那我们把这玩意删了会怎么样呢?试试:

编译后发现上面的LaunchActivity可以找到了,但是又出现一个DataManager找不到了。什么情况?

三、两个build​,解决问题

Android的项目目录里是有两个build文件夹的,一个是:项目目录/app/build,另一个是:项目目录/build。如果把这俩build同时删除呢?

事实证明好使了,所以解决方法就是把两个build都删掉,然后运行。同时也说明在提交代码的时候两个build是不应该提交的。

​再遇到类似的问题,不妨这么试试


http://www.taodudu.cc/news/show-7978723.html

相关文章:

  • Android运行AVD后爆:Failed to compile values file.怎么解决
  • 微信支付v3证书报错The `certs()` contains the merchant‘s certificate
  • Linux-world-2012-January-13(error: 'S3C24X0_GPIO' has no member named 'GPACON')
  • Samba使用smbpasswd实现user安全级别配置
  • 一次典型的php+MySQL手工注射
  • 洛谷P5410 【模板】扩展 KMP【捂着良心说真的很detailed,很久没这么认真了www】
  • html中video全属性详解,科技常识:详解Html5中video标签那些属性和方法
  • video 标签 各种属性及所有事件监听大全
  • HTML页面原生VIDEO标签隐藏下载按钮功能
  • 对video标签下载按钮隐藏等几点补充说明
  • 防止video视频被下载的几种处理办法
  • Ubuntu 拼音输入法不能正常使用的解决方案
  • 使用拼音写程序
  • Google搜索从入门到精通 v4.0【转】
  • 用于NLP的Python:使用Keras进行深度学习文本生成
  • 系列之1-神经网络的基本工作原理(转)
  • c语言安卓api,Android文本语音API开发教程
  • 0基础java初学者都能做的打字通小游戏? 内含源码解读和细致讲解!!
  • Pygame开发一个打字游戏
  • 优漫动游小白逆袭平面设计师
  • 【活动】你有创意我有奖!摹客X飞书2020产品设计大赛邀你来战
  • 程序员的在线开发工具
  • 资源save
  • 美术基础对于建模行业的作用体现在哪里?没学过画画的能不能做3D游戏建模
  • GUI(图形用户接口)
  • GUI编程(图形界面编程)
  • Android 移动开发 | 图形与图像处理--剖析三个绘图工具类--实现Android 机器人绘制案例
  • 0.1 用代码画画——搞艺术的学编程有啥用?
  • 毛球科技:区块链如何应对数字虚假信息威胁?
  • 私家云二代/比特米盒安装Armbian Blueseye到Emmc
  • 这篇关于安卓开发-Didn't find class XX.calss on path: DexPathList 错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/225229

    相关文章

    Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

    《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

    Python基于wxPython和FFmpeg开发一个视频标签工具

    《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

    利用Python开发Markdown表格结构转换为Excel工具

    《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

    Python中ModuleNotFoundError: No module named ‘timm’的错误解决

    《Python中ModuleNotFoundError:Nomodulenamed‘timm’的错误解决》本文主要介绍了Python中ModuleNotFoundError:Nomodulen... 目录一、引言二、错误原因分析三、解决办法1.安装timm模块2. 检查python环境3. 解决安装路径问题

    如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

    《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错

    利用Go语言开发文件操作工具轻松处理所有文件

    《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

    基于Python开发批量提取Excel图片的小工具

    《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

    Linux find 命令完全指南及核心用法

    《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

    基于Python开发PDF转PNG的可视化工具

    《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

    SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

    《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin