我把IntelliJ IDEA从12.0.4升级到12.10。

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

错误:没有找到默认活动

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

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


当前回答

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

例子:

<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显示错误的文件内容

其他回答

如果前面答案中的选项不起作用,请尝试删除.gradle文件夹。

我使用的是Android Studio 3.3.1。我所有的项目都很好,但它们突然都停止了工作,说没有活动。即使是全新的项目也出现了同样的错误。

在数小时使缓存无效后,试图修复清单文件。我注意到它与Android X库有一些关系,比如(androidx.core:core-ktx)。在一些项目中,仅仅更新库就可以解决这个问题,但真正有效的方法是删除.gradle文件夹。

如果您在升级IntelliJ IDEA或Android Studio版本后,或者在生成新的APK文件后,看到该错误发生,您可能需要刷新IDE的缓存。

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

我得到了这个错误。

并且发现在清单文件中,在启动器活动我没有放动作和 类别在意图过滤器。

错误的答案:

<activity
android:name=".VideoAdStarter"
android:label="@string/app_name">

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

</activity>

正确答案:

<activity
android:name=".VideoAdStarter"
android:label="@string/app_name">

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

</activity>

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

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

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

如果您的应用程序没有活动(例如,只有一个服务),请将运行/调试配置“启动”选项更改为Nothing。