繁体   English   中英

Android Studio:AndroidManifest.xml 中未声明活动“MainActivity”

[英]Android Studio: The activity 'MainActivity' is not declared in AndroidManifest.xml

我知道这个问题有一些类似的问题,但我已经尝试了我在 asnwers 中找到的建议,但没有一个对我有用,所以我决定发布我的问题版本。

我正在使用这个 android 工作室项目https://github.com/rosjava/android_core ,如您所见,其中有多个模块。 我有另一个项目必须导入到这个 android_core 中,所以我降级了它的 gradle 版本,因为该版本更新了更多,并将其添加为导入模块。

在我修复了一些建筑问题后,我得到了“未找到默认活动”错误,这对我来说似乎很奇怪,因为我有一个活动被标记为默认活动,所以无论哪种方式,我都决定在这里添加它:

指定活动

下一个警告是图像底部的警告,再一次,这对我来说听起来很奇怪,因为我在原始项目的 AndroidManifest.xml 文件中声明了所有内容,它与这个完全相同:

AndroidManifest.xml

我尝试过重建、使缓存无效/重新启动以及删除和重新扩展 AppCompactActivity class 但似乎没有任何效果。

我错过了什么? 提前致谢!

在清单 xml 的根目录中,应该是具有 package 属性的清单节点。 确保 package 'com.example.prj_' 是值。

然后在您的活动节点中,您只需放置值“.MainActivity”。 否则,您可能会遇到 R class 中的资源的一些构建错误。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.prj_">

    <application
        ...>
        <activity
            android:name=".MainActivity"
            ...
        </activity>
    </application>
</manifest>

将.MainActivity 添加到您的 Android 清单文件中。

<application
    ...>
    <activity
        android:name=".MainActivity"
        ...
    </activity>
</application>

合并清单的后台计算与自动检查显然存在竞争条件。 解决方法是打开AndroidManifest.xml并单击Merged Manifest ,这会强制合并。 然后单击Run应该会通过自动测试。

另见https://issuetracker.google.com/issues/158019870

有一些方法可以清理项目以消除此错误

1- File-> Sync Project with Gradle Files 

2- Files -> invalidate cache / Restart

3- android:name=".MainActivity" -->  android:name="com.example.prj.MainActivity"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM