运行项目时遇报错:java.lang.ClassNotFoundException异常求助
解决 java.lang.ClassNotFoundException: com.example.appName.Application 问题
这个错误说白了就是你的Android应用启动时,找不到你声明的那个Application类文件,十有八九是构建配置或者代码结构出了小问题。我给你列几个最靠谱的排查方向,按顺序试基本能搞定:
先核对AndroidManifest.xml里的配置
打开你的AndroidManifest.xml,找到<application>标签的android:name属性,确保它和你的Application类的全路径完全一致。比如你的类在com.example.appName包下,配置就得是:<application android:name="com.example.appName.Application" ...> ... </application>别小看拼写和大小写,很多时候就是这里多打了个字母或者漏了包前缀导致的。
确认Application类的实际位置
去你的项目源码里找找这个类,看看它是不是真的在com.example.appName这个包下面。有时候可能不小心把类拖到了子包,或者类名写错了(比如写成App而不是Application),这些小失误都能引发这个错误。清理重建项目,干掉缓存
很多时候是构建缓存在搞鬼,旧的产物没清干净导致类找不到。你可以:- 打开Android Studio,点
Build > Clean Project,然后再点Build > Rebuild Project - 或者用命令行执行:
./gradlew clean assembleDebug
清空旧构建文件后重新生成,往往能解决这类奇怪的找不到类的问题。
- 打开Android Studio,点
检查Gradle构建配置
翻一下你的模块build.gradle文件:- 确认
sourceSets里的java目录配置正确,默认是src/main/java,如果改了路径,要保证这个路径下包含你的Application类。 - 要是你开了混淆(ProGuard/R8),得确保Application类没被混淆掉。可以在
proguard-rules.pro里加一行:-keep class com.example.appName.Application { *; }
- 确认
排查依赖模块问题
如果你的Application类是在某个依赖模块里,那得确保这个模块已经正确加到主项目里:- 检查
settings.gradle里有没有包含这个模块 - 主模块的
build.gradle里有没有添加implementation project(':your-module')这样的依赖配置
- 检查
内容的提问来源于stack exchange,提问作者Fakhar Ilyas
相关产品推荐
相关产品推荐

