我把IntelliJ IDEA从12.0.4升级到12.10。

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

错误:没有找到默认活动

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

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


当前回答

如果你正在开发一个小部件应用程序,这个解决方案应该适合你:

进入编辑配置 将启动选项设置为Nothing

其他回答

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

只需在<application>标签的清单文件中添加这个。只需将MainActivity替换为默认activity, android.intent.action.youractivity就可以工作了。

从1.2更新Android Studio后。x到1.3我遇到了同样的问题,我尝试了所有的建议,但都不起作用。然后我这样做了:

进入运行/调试配置。选择给出错误的配置并删除它。创建一个具有相同名称和设置的新文件。之后,重新连接USB线并运行应用程序。

这为我解决了问题。

我得到了这个错误。

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

错误的答案:

<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>

对我来说,这个问题的发生是因为其他原因。所以即使它有超过30个答案,我仍然觉得我的解决方案可能会帮助到一些人。

我的styles.xml看起来是这样的:

<style name="AppTheme" parent="...">
    ....
</style>

<style name="AppTheme.NoActionBar" parent="...">
    ....
</style>

我的androidmanifest。xml是这样的:

<application
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    ....
</application>

出于某种原因,我决定让我的主题没有ActionBar,所以我继续下去,从我的styles.xml中删除了它。这是更新后的版本:

<style name="AppTheme.NoActionBar" parent="...">
    ....
</style>

除此之外,我还必须更新清单文件中的主题,但我忘记了这一点。所以当我运行应用程序,我得到的错误说:

错误:没有找到默认活动

经过长时间的挣扎,我发现了问题,并相应地修改了我的载货单:

<application
    android:label="@string/app_name"
    android:theme="@style/AppTheme.NoActionBar">
    ....
</application>

结论:

如果你有一个错误的AndroidManifest.xml可能导致清单合并失败,那么AS会给出这个错误。

我不能评论为什么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