java - Android Studio:将其重构为包后找不到类:在路径上找不到类“package.VideoPlayerFragment”:DexPathList
问题描述
我的类变得太乱了,所有东西都放在一个包中,所以我为片段、活动、服务等创建了单独的包,并将各自的类移到了新包中。现在,当我运行应用程序时,它崩溃了。在错误中,它说它找不到片段 VideoPlayerFragment:
Caused by: java.lang.ClassNotFoundException: Didn't find class "mypackage.VideoPlayerFragment" on path: DexPathList[[zip file "/data/app/mypackage-ZtBOtHSaSvbICeciH5XL0A==/base.apk"],nativeLibraryDirectories=[/data/app/mypackage-ZtBOtHSaSvbICeciH5XL0A==/lib/x86, /data/app/mypackage-ZtBOtHSaSvbICeciH5XL0A==/base.apk!/lib/x86, /system/lib]]
在错误中它仍然显示旧包名称。新的将是 mypackage.fragments.VideoPlayerFragments。我不知道该怎么办......我已经使用了“清洁项目”,我也尝试过删除 .gradle 文件夹,但它仍然会发生
解决方案
像往常一样,在这里发布后立即发现问题。在一个布局 xml 文件中使用了这个类,该文件没有被 Android Studio 重命名,并且仍在使用旧的包名称
推荐阅读
- javascript - 两个同名函数,我想调用 div 处于活动状态的函数
- c++ - 如何编写与此汇编代码相等的 c/c++ 代码?
- c# - 带有行和列标题 WPF 的 ItemsControl
- javascript - 获取包含超过 0xffff 的 unicode 字符的字符串长度
- matplotlib - 由于 alpha 设置,Matplotlib 线条和填充颜色不同
- android - 我在android studio中不断收到相同的错误“错误找不到参数[com.google.gms.google-services:4.0.1]的方法classpath()”
- c - 将文本文件逐行读取到c中的结构中
- marklogic - MarkLogic:如何安排具有定义频率的作业以从目录写入文件?
- rxjs - 使用自动滚动拖放(dom-autoscrolling)
- javascript - 如何从数组中获取上一个和下一个 id