我把IntelliJ IDEA从12.0.4升级到12.10。
现在我的Android项目中的所有模块都给出了错误:
错误:没有找到默认活动
我恢复到12.0.4,一切都恢复正常了。
什么好主意吗?我认为这可能是一个丢失插件的问题。由于插件没有安装,它无法找到默认活动。另一个东西可能是本地配置,但我对此表示怀疑。我删除了配置文件夹来验证,这没有改变任何东西。
我把IntelliJ IDEA从12.0.4升级到12.10。
现在我的Android项目中的所有模块都给出了错误:
错误:没有找到默认活动
我恢复到12.0.4,一切都恢复正常了。
什么好主意吗?我认为这可能是一个丢失插件的问题。由于插件没有安装,它无法找到默认活动。另一个东西可能是本地配置,但我对此表示怀疑。我删除了配置文件夹来验证,这没有改变任何东西。
当前回答
在Android Manifest.xml中,像下面这样设置启动活动:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
其他回答
在Android Studio 4.0中,请将Launch更改为Nothing:
运行/调试配置→Android应用程序→应用程序→常规→启动选项→设置启动为“无”。
我不能评论为什么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
使缓存失效/重新启动
之后,你的应用程序必须运行!
我一直在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。
奇怪的是,其他团队成员并没有遇到这个问题。
我在Android Studio 3.3 Canary 3中也遇到了同样的问题。
来自Android Studio 3.0稳定版本的项目首先正常工作,但在一些清理/重建之后,它开始显示No Default Activity错误。
我尝试重新安装这个alpha版本的Android Studio:再次错误。但后来我在旧的稳定Android上启动了它,并使用APK安装,这个APK文件可以正常工作。
此外,我的项目是用Instant App (base, feature, Instant和App子目录)创建的。我认为这个Android Studio有一些问题,Manifest.xml文件分开到这个多个目录。
所以我在设置中把它改成了这样: