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

Android Oreo启动应用报错:Activity类不存在问题求助

解决Activity类不存在的启动错误

这个问题我帮不少开发者排查过,大概率是Manifest配置、构建缓存或者包名/类名匹配的问题,给你整理几个最有效的解决思路:

1. 先核对Manifest里的Activity配置

先盯着你提供的Manifest片段,确认这几个关键细节:

  • 确保SplashActivity的全类名和启动命令里的com.package.SplashActivity完全一致,Java/Kotlin对大小写敏感,别写错字母
  • 检查Activity的声明格式是否正确,必须包含android:name属性,Android 12及以上版本还要加android:exported="true"(否则启动Activity会被系统拦截),示例如下:
<activity
    android:name=".SplashActivity" <!-- 用相对路径的话,要保证Manifest根节点的package属性是com.package -->
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
  • 确认Manifest根节点的package属性确实是com.package,如果你的Activity在子包下(比如com.package.ui.SplashActivity),那启动命令里的类名也要对应改成这个完整路径

2. 清理构建缓存并重新构建

Android Studio的构建缓存偶尔会“抽风”,导致编译后的APK里没包含目标Activity,试试这几步:

  • 点击菜单栏的Build > Clean Project,等清理完成
  • 再点击Build > Rebuild Project,重新编译整个项目
  • 嫌点鼠标麻烦的话,直接在Terminal里执行命令:
./gradlew clean assembleDebug

3. 检查Run/Debug配置

有时候是运行配置里的参数错了:

  • 打开右上角运行按钮旁边的下拉菜单,选Edit Configurations
  • 确认Launch选项是Default Activity,如果是手动指定的话,一定要选对com.package.SplashActivity
  • 检查Module是否选的是你当前的主模块(比如app模块)

4. 卸载设备上的旧应用再重装

如果之前装过同名包的旧版本,可能存在缓存冲突:

  • 在模拟器/真机上找到你的应用,彻底卸载干净
  • 然后重新点击Run按钮安装最新的APK

5. 排查多模块或Product Flavors的问题

如果你的项目有多个模块或者自定义的Product Flavor,可能是编译目标不对:

  • 确认你编译的是正确的Flavor(比如Debug/Release,或者自定义的Flavor)
  • 检查build.gradle里的applicationId是否和Manifest的package一致,示例:
android {
    defaultConfig {
        applicationId "com.package" // 这里要和Manifest的package属性完全匹配
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:33:00