我把IntelliJ IDEA从12.0.4升级到12.10。

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

错误:没有找到默认活动

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

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


当前回答

这是在我的电脑意外重启后发生的。奇怪的是,我没有做任何修改,仍然得到这个错误。

以上这些对我都没有帮助。解决我问题的,是这个。

步骤1:

步骤2:

步骤3:

如果这不能解决问题,再试试别的办法。

试1:

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

试2:

检查以下两行,

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

在文件manifest.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>

试3:

如图所示: 打开“运行/调试配置”。

如果这也无济于事:

尝试4:

菜单文件→导出到ZIP。

and

将其作为一个新项目导入。

其他回答

好吧,我有时不理解Android Studio……

我遇到了同样的问题,并尝试了这里的答案,但无济于事。

然后我改变了一件事:我的intent-filter中的动作名称全部用大写。我把它改为小,只留下大写的单词MAIN,它解决了这个问题!多么荒谬!

TL; diana:

确保您不仅检查操作和类别名称,还检查路径。特别是如果你做了重构。

我的解决方案是仔细检查AndroidManifest文件。我做了一个重构,它不仅更新了意图过滤器,而且还更新了意图过滤器名称的路径:

<!-- Type and value were added to the 
     path here when I did the refactor -->
<action android:name="android.intent.type.MAIN"/>
<category android:name="android.intent.value.LAUNCHER"/>

它应该是:

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

首先,确保清单中包含了默认活动。

例子:

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

如果你已经尝试了所有的方法,但似乎都没有效果

从您的%Home%\删除缓存。Gradle \缓存和同步项目再次。

或者看看这个答案:

Android Studio显示错误的文件内容

正确的方法是将以下内容添加到Manifest文件中:

<activity
    android:name="FULL_NAME_OF_YOUR_ACTIVITY"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

这应该插入到:

<application> </application>

不需要使缓存无效。

我在升级到Android Studio 4.0后就遇到了这种情况。

我试图使缓存无效,删除并再次创建Android应用程序配置,选择一个特定的启动活动,但我总是得到错误说明,该活动没有在AndroidManifest.xml文件中定义,但当然它是。

对我来说有用的是进入运行/调试配置(在这里你定义了启动选项),删除对话框底部的“在启动前”中的“Gradle-aware Make”。我成功地运行了应用程序,然后我又添加了“Gradle-aware Make”,一切都正常工作。

我知道这说不通。但我就是这么做的。