我把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,所以我必须删除以下文件夹来解决这个问题:
C:\Users\ my_user_name.AndroidStudio4.0 \ system \缓存
其他回答
我不能评论为什么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
我在不同的场景中得到了相同/类似的错误,错误:默认活动未找到,并且无法运行项目。
我发现我的项目有minSdkVersion=16。但是,其中一个包需要minSdkVersion >= 21。我更新了依赖项并重新构建。然后我又能运行这个项目了。
我使用Android Studio 4.0.1
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"/>
<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就可以工作了。
进入清单→合并清单标签(屏幕底部)。
在右边的面板中,如果有任何错误,请解决它!
这就是我的解决方案(一个工具错误:不需要替换)。