我把IntelliJ IDEA从12.0.4升级到12.10。

现在我的Android项目中的所有模块都给出了错误:

错误:没有找到默认活动

我恢复到12.0.4,一切都恢复正常了。

什么好主意吗?我认为这可能是一个丢失插件的问题。由于插件没有安装,它无法找到默认活动。另一个东西可能是本地配置,但我对此表示怀疑。我删除了配置文件夹来验证,这没有改变任何东西。


当前回答

我也遇到过同样的问题。由于某些原因,Android Studio将大部分XML文件中的所有Android:name属性(包括manifest)替换为Android:subject (Android Studio无法识别)。

正如你在上图中看到的,IDE不识别android:subject属性。因此,它将无法读取指定mainactivity的行。

解决方案是简单地改变每个android:受制于android:name,然后从Build菜单中重建项目*→重建项目。在重新构建项目时,您可能会遇到相同的问题,因此执行与上面相同的操作。

其他回答

我是如何解决这个问题的:我没有与意图启动器声明相关的问题,我甚至尝试手动声明活动,但它仍然不起作用

我还清除了缓存和临时文件夹,但都不起作用。

因为我有几个活动,似乎其中一个活动,我从存储库中有重复的声明:

菜单构建→重建项目 菜单文件→无效缓存…→无效并重新启动

这对我很管用。

重新构建项目以确保项目中没有任何错误。然后我们可以使缓存失效。

我不能评论为什么IntelliJ IDEA的升级会导致这个问题,因为我没有使用它。

然而,这个错误:“Default Activity Not Found”似乎是在告诉你,你没有在文件AndroidManifest.xml中声明一个标记为主活动的活动,在应用程序启动时启动。

你应该至少有一个类似这样的活动:

<activity
        android:name="com.your.package.name.YourActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>

如果您至少没有一个带有这样意图过滤器的活动,那么您很可能会看到您在这里包含的错误消息。

您应该将意图过滤器添加到您希望在启动应用程序时打开的Activity中,这应该可以解决您的问题。

额外的细节

(Android Studio 4.1.2)如果项目创建为EmptyApplication,那么开发人员必须手动创建以下三个文件,以避免出现Default Activity Not Found错误:

文件AndroidManifest.xml

文件MainActivity.java

文件activity_main.xml

我也得到了这个错误,

错误:没有找到默认活动

嗯,在我的情况下,它是为磨损模块…我不需要一个活动,所以我只是做:

去编辑配置→磨损→启动选项→启动→无。 应用更改。单击OK。 从清单文件中删除默认活动的现有代码。

注意:不要忘记清理项目和同步Gradle文件。

有时卸载所有用户的应用程序会有所帮助。

进入“设置”中的“应用程序”列表。转到你的应用程序或滚动到列表的末尾,然后卸载它。