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

如何在AndroidManifest.xml中声明Activity?Manifest类找不到求助

问题解决与Activity声明指南

一、崩溃问题排查(清单引用的Activity类找不到)

错误提示明确指向se.linerotech.myapplication.RepositoryActivity类不存在,按以下步骤逐一排查:

  • 确认项目中是否存在该类文件:检查app/src/main/java/se/linerotech/myapplication/(或kotlin目录)下有没有RepositoryActivity.java/RepositoryActivity.kt文件
  • 核对类名与包名:
    • 打开Activity类文件,确认顶部的package声明是否为se.linerotech.myapplication;
    • 检查类名拼写,Java/Kotlin是大小写敏感的,确保和清单里的RepositoryActivity完全一致
  • 同步项目文件:点击IDE的「Sync Project with Gradle Files」按钮,确保Gradle识别到新创建的Activity类
  • 清理重建项目:执行「Build > Clean Project」再「Build > Rebuild Project」,避免缓存导致的识别问题

二、AndroidManifest.xml中声明Activity的正确方式

所有Activity必须在AndroidManifest.xml的<application>标签内声明,基础格式如下:

<application
    ... <!-- 其他application属性 -->
    >
    <!-- 声明Activity -->
    <activity
        android:name=".RepositoryActivity" <!-- 相对路径,对应清单根包名;也可写全类名se.linerotech.myapplication.RepositoryActivity -->
        android:exported="true" <!-- Android 12+ 必填:允许外部启动设为true,仅内部跳转设为false -->
        android:label="@string/repository_activity_title"> <!-- 可选:设置Activity标题 -->

        <!-- 可选:如果是应用入口Activity,添加intent-filter -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!-- 其他Activity声明 -->
</application>

关键注意事项:

  • android:name:优先用相对路径(.开头),减少包名变更时的修改成本;如果类在子包下,比如se.linerotech.myapplication.ui.RepositoryActivity,则写.ui.RepositoryActivity
  • android:exported:Android 12(API 31)及以上版本强制要求,若Activity不需要被其他应用启动,设为false更安全
  • 特殊需求:如果需要接收特定Intent(比如打开网页、分享内容),可以添加对应的<intent-filter>标签

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:37:12