Flutter应用启动崩溃,抛出DexPathList相关错误及ClassNotFoundException(com.epixmobile.dor.DOR类未找到)
解决Flutter启动时的ClassNotFoundException: com.epixmobile.dor.DOR问题
我帮你找到了问题的核心原因,咱们一步步来修复:
1. 定位错误根源
你看到的ClassNotFoundException是因为AndroidManifest.xml里的Application配置有误。在你的清单文件中,<application>标签设置了android:name="DOR":
<application android:name="DOR" android:label="DOR" android:icon="@mipmap/ic_launcher">
Android系统会自动将这个短类名补全为当前包名(com.epixmobile.dor)下的完整类路径,也就是com.epixmobile.dor.DOR,但你的项目中并没有这个类,所以启动时会抛出找不到类的异常。
2. 修复AndroidManifest配置
根据你的需求,有两种修复方式:
方式一:使用Flutter默认的Application类(推荐,如果你不需要自定义Application逻辑)
直接把android:name修改为Flutter官方提供的默认Application类:
<application android:name="io.flutter.app.FlutterApplication" android:label="DOR" android:icon="@mipmap/ic_launcher">
方式二:自定义Application类(如果你需要添加全局初始化逻辑)
如果确实需要自定义Application,你需要在com.epixmobile.dor包下创建一个名为DOR的类,继承自FlutterApplication:
package com.epixmobile.dor import io.flutter.app.FlutterApplication class DOR : FlutterApplication() { // 在这里添加你的自定义初始化逻辑,比如第三方SDK的初始化 override fun onCreate() { super.onCreate() // 示例:初始化OneSignal或Firebase等 } }
3. 清理缓存并重新构建项目
修改配置后,务必清理项目缓存,避免旧配置残留:
- 执行Flutter清理命令:
flutter clean - 重新构建项目:
flutter build apk - 也可以在Android Studio中点击
File -> Invalidate Caches... -> Invalidate and Restart,彻底清理IDE缓存。
4. 检查其他可能的残留引用
如果修复后仍然报错,建议全局搜索项目中是否还有com.epixmobile.dor.DOR的硬编码引用:
- 检查
strings.xml、gradle.properties、local.properties等配置文件 - 检查第三方插件的配置项(比如OneSignal、Facebook登录的相关配置)
按照以上步骤操作,应该就能解决这个困扰你3天的问题了!
内容的提问来源于stack exchange,提问作者rameez khan
相关产品推荐
相关产品推荐

