我把IntelliJ IDEA从12.0.4升级到12.10。

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

错误:没有找到默认活动

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

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


当前回答

我在我的代码中发现了这个:

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

如果你仔细看,它应该是<activity android:name="。MainActivity”>。

显然,我在某处重构了一个“活动”,它也改变了AndroidManifest中的名称。

其他回答

你可能会遗漏<intent_filter>属性。确保在清单文件中包含此活动。

我尝试了无效缓存和重新启动选项,没有运气。然后我核实了舱单。它正确地设置了主要的活动意图。

我在菜单文件→设置→构建、执行、部署→Gradle的全局Gradle设置下检查了“离线工作”。

我取消了它,修改了构造。gradle文件(项目)使用不同的gradle版本(com.android.tools.build:gradle:3.3.1)并保存它。这触发了Gradle同步。

同步之后,这个错误就消失了。我又可以调试了。

检查舱单上的所有行。

在我的例子中,我犯了这样的错误:

android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"

LogCat里什么都没有。

由于这个问题是关于清单的大量问题的“着陆页”,导致没有发现Default Activity,这里还有另一件事要检查是否有此问题。

打开清单并切换到合并清单选项卡。

有时问题与将项目中的所有清单合并为一个有关,这可能导致错误,因此“未找到默认活动”。问题是,据我所知,除了这个合并清单选项卡,这个错误没有显示在任何地方。

例如:在项目minSdkVersion 10中,在build中降低实现的版本。Gradle文件:从25.4.0到25.3.1解决了这个问题。

dependencies {
    implementation 'com.android.support:appcompat-v7:25.3.1'
    implementation 'com.android.support:design:25.3.1'
    implementation 'com.android.support:mediarouter-v7:25.3.1'

我一直在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。

奇怪的是,其他团队成员并没有遇到这个问题。