我把IntelliJ IDEA从12.0.4升级到12.10。

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

错误:没有找到默认活动

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

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


当前回答

使用菜单文件→无效缓存/重启…

然后重启机器(PC,笔记本电脑等)

其他回答

我在我的代码中发现了这个:

<context android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</context>

如果你仔细看,它应该是<activity android:name="。MainActivity”>。

显然,我在某处重构了一个“活动”,它也改变了AndroidManifest中的名称。

在我的情况下,菜单文件→无效缓存/重新启动…没有帮助。

我的项目一切正常,当然我的活动有以下意图过滤器:

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

真正帮助我的是删除Android/Gradle缓存文件夹(它们可以增长到10- 30gb)。

进入C:\Users\YOUR_USER_WINDOWS_NAME并删除以下文件夹

.android .AndroidStudio3.2 .gradle

(如果你想删除它,你可以在删除它之前保存一些Android配置。androidstudio3.2。)

前面的答案对我没有任何帮助。过了一段时间,我发现IntelliJ IDEA将动作名称改为大写。如:

<intent-filter>
  <action android:name="ANDROID.INTENT.ACTION.MAIN"/>
  <category android:name="ANDROID.INTENT.CATEGORY.LAUNCHER"/>
</intent-filter>

恢复正常后,IDEA识别出默认活动:

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

之前的答案都没帮到我。

试着去除

<?xml version="1.0" encoding="utf-8"?>

在你的AndroidManifest中。

然后菜单文件→同步项目与Gradle文件。

在我的例子中,我重构了一个名为“activity”的成员变量。我把它重命名为“context”…

我发现重构是对清单中的活动标记进行的,我发现它们是上下文标记……这是非常愚蠢的Android Studio方面!