我把IntelliJ IDEA从12.0.4升级到12.10。
现在我的Android项目中的所有模块都给出了错误:
错误:没有找到默认活动
我恢复到12.0.4,一切都恢复正常了。
什么好主意吗?我认为这可能是一个丢失插件的问题。由于插件没有安装,它无法找到默认活动。另一个东西可能是本地配置,但我对此表示怀疑。我删除了配置文件夹来验证,这没有改变任何东西。
我把IntelliJ IDEA从12.0.4升级到12.10。
现在我的Android项目中的所有模块都给出了错误:
错误:没有找到默认活动
我恢复到12.0.4,一切都恢复正常了。
什么好主意吗?我认为这可能是一个丢失插件的问题。由于插件没有安装,它无法找到默认活动。另一个东西可能是本地配置,但我对此表示怀疑。我删除了配置文件夹来验证,这没有改变任何东西。
当前回答
我在升级到Android Studio 4.0后就遇到了这种情况。
我试图使缓存无效,删除并再次创建Android应用程序配置,选择一个特定的启动活动,但我总是得到错误说明,该活动没有在AndroidManifest.xml文件中定义,但当然它是。
对我来说有用的是进入运行/调试配置(在这里你定义了启动选项),删除对话框底部的“在启动前”中的“Gradle-aware Make”。我成功地运行了应用程序,然后我又添加了“Gradle-aware Make”,一切都正常工作。
我知道这说不通。但我就是这么做的。
其他回答
<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就可以工作了。
如果你正在开发一个小部件应用程序,这个解决方案应该适合你:
进入编辑配置 将启动选项设置为Nothing
如果您的应用程序没有活动(例如,只有一个服务),请将运行/调试配置“启动”选项更改为Nothing。
前面的答案对我没有任何帮助。过了一段时间,我发现IntelliJ IDEA将动作名称改为大写。如:
<intent-filter>
<action android:name="ANDROID.INTENT.ACTION.MAIN"/>
<category android:name="ANDROID.INTENT.CATEGORY.LAUNCHER"/>
</intent-filter>
恢复正常后,IDEA识别出默认活动:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
我一直在Android Studio 3.0.1遇到这个问题,这是由明显的合并失败引起的。由于某种原因,我在消息输出中没有得到任何错误消息。我必须检查合并清单(app→清单→*AndroidManifest.xml,然后是“合并清单”选项卡)。
在底部有一个错误,指示在构建中添加的最新库。gradle文件,有一个依赖于其他一些库,其minSdk高于我的应用程序minSdk。解决方案就在这条信息里,就是添加
<uses-sdk tools:overrideLibrary="timber.log"/>
AndroidManifest.xml。实际上,这个库(piwik 1.0.2)在其manifest中已经有了这个overrideLibrary。
奇怪的是,其他团队成员并没有遇到这个问题。