我把IntelliJ IDEA从12.0.4升级到12.10。

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

错误:没有找到默认活动

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

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


当前回答

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

其他回答

<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就可以工作了。

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

我得到了这个错误,试图运行一个应用程序,没有一个活动(这是一个androidTest项目)。因此,我只需右键单击测试项目,并从上下文菜单中选择Run或Debug。

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

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

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

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

我的问题是:

在我的应用程序模块清单,我必须替换另一个依赖模块清单标签。

我在应用程序标签下添加了下面的代码,它为我工作:

tools:replace="android:allowBackup, android:usesCleartextTraffic"

对你来说,这可能是由于一些其他性质。您还必须重写它们。