我把IntelliJ IDEA从12.0.4升级到12.10。

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

错误:没有找到默认活动

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

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


当前回答

我也遇到过同样的问题。由于某些原因,Android Studio将大部分XML文件中的所有Android:name属性(包括manifest)替换为Android:subject (Android Studio无法识别)。

正如你在上图中看到的,IDE不识别android:subject属性。因此,它将无法读取指定mainactivity的行。

解决方案是简单地改变每个android:受制于android:name,然后从Build菜单中重建项目*→重建项目。在重新构建项目时,您可能会遇到相同的问题,因此执行与上面相同的操作。

其他回答

在Android Studio中运行/调试配置-> Android应用程序->通用->活动->选择“不启动活动”选项。

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

我将Intent-filter改为

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

只需要添加DEFAULT选项。我正在使用Process Phoenix库,它提示我定义一个默认意图。这就解决了我的问题。

我也得到了这个错误,

错误:没有找到默认活动

嗯,在我的情况下,它是为磨损模块…我不需要一个活动,所以我只是做:

去编辑配置→磨损→启动选项→启动→无。 应用更改。单击OK。 从清单文件中删除默认活动的现有代码。

注意:不要忘记清理项目和同步Gradle文件。

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

例子:

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