参照YouTube教程开发安卓应用遇到Activity类未找到异常如何解决
报错排查与解决步骤
你遇到的是Android类加载器无法找到MainActivity类的运行时异常,按照以下顺序逐一排查即可解决:
- 检查类的包声明与路径匹配
你贴出的MainActivity代码缺失了包声明,首先确认代码第一行是否添加了package com.example.covidtracker;语句,同时确认MainActivity.java文件的存放路径为src/main/java/com/example/covidtracker/MainActivity.java,路径和包声明必须完全匹配,差一个字符都会触发类找不到的错误。 - 检查AndroidManifest.xml配置
打开项目的AndroidManifest.xml文件,确认已经正确注册MainActivity:
其中<activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>android:name属性如果写完整路径必须是com.example.covidtracker.MainActivity,不能写错类名或者包名。 - 清理构建缓存重新编译
构建缓存异常是这类报错的常见诱因,依次执行以下操作:- 点击Android Studio菜单栏
Build -> Clean Project - 等待清理完成后点击
Build -> Rebuild Project - 如果仍未解决,删除项目根目录下的
.gradle、.idea文件夹,重启Android Studio后重新同步Gradle再运行
- 点击Android Studio菜单栏
- 检查Multidex配置是否正确
如果你的项目开启了Multidex,且minSdkVersion小于21,需要完成完整配置才能正常加载类:- 在app模块
build.gradle的dependencies中添加依赖implementation 'androidx.multidex:multidex:2.0.1' - 自定义的Application类要么继承
MultiDexApplication,要么在attachBaseContext方法中调用MultiDex.install(this)
- 在app模块
额外提示:你当前代码的
init方法中todaydeath被重复赋值,不会引发此次崩溃,但后续业务开发时需要修正避免逻辑异常。
内容的提问来源于stack exchange,提问作者Arpan Rawat
相关产品推荐
相关产品推荐

