You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

天气应用启动报错:E/AndroidRuntime主线程致命异常求助

解决ClassNotFoundException导致MainActivity无法实例化的问题

老哥,这个错误我之前也踩过坑!本质是系统找不到你的MainActivity类,大概率是Dex打包或者配置相关的问题,给你几个排查方向:

  • 检查AndroidManifest.xml配置
    确保MainActivity的全类名拼写无误,包名和项目一致,同时Android 12+版本要显式设置android:exported属性,启动页必须设为true:

    <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 Studio菜单栏的Build > Clean Project,完成后再执行Build > Rebuild Project,最后重新运行项目试试。

  • 多Dex场景下的配置检查
    如果项目方法数超过65536开启了多Dex,要确保配置全流程正确:

    1. 在app模块的build.gradle中添加依赖:
      implementation 'com.android.support:multidex:1.0.3'
      
    2. 在defaultConfig块中开启多Dex:
      defaultConfig {
          // 其他配置项...
          multiDexEnabled true
      }
      
    3. 自定义Application类需继承MultiDexApplication,或在attachBaseContext方法中手动初始化:
      public class MyWeatherApp extends Application {
          @Override
          protected void attachBaseContext(Context base) {
              super.attachBaseContext(base);
              MultiDex.install(this);
          }
      }
      

    记得在Manifest中指定这个自定义Application。

  • 模块打包与依赖检查
    确认MainActivity所在模块的类型是application而非library,同时检查build.gradle的sourceSets配置,确保源码目录被正确识别打包。

  • 签名与安装包验证
    签名异常也可能导致类丢失,可以尝试使用Android Studio默认的debug签名重新打包,或生成新的签名文件后重新安装。

补充:从错误日志的DexPathList来看,系统能找到APK文件,但APK内不存在目标类,所以核心要确保MainActivity被正确打包进安装包中。

内容的提问来源于stack exchange,提问作者AndroidDev20TX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:07:46