我把IntelliJ IDEA从12.0.4升级到12.10。
现在我的Android项目中的所有模块都给出了错误:
错误:没有找到默认活动
我恢复到12.0.4,一切都恢复正常了。
什么好主意吗?我认为这可能是一个丢失插件的问题。由于插件没有安装,它无法找到默认活动。另一个东西可能是本地配置,但我对此表示怀疑。我删除了配置文件夹来验证,这没有改变任何东西。
我把IntelliJ IDEA从12.0.4升级到12.10。
现在我的Android项目中的所有模块都给出了错误:
错误:没有找到默认活动
我恢复到12.0.4,一切都恢复正常了。
什么好主意吗?我认为这可能是一个丢失插件的问题。由于插件没有安装,它无法找到默认活动。另一个东西可能是本地配置,但我对此表示怀疑。我删除了配置文件夹来验证,这没有改变任何东西。
当前回答
对我来说,这个问题的发生是因为其他原因。所以即使它有超过30个答案,我仍然觉得我的解决方案可能会帮助到一些人。
我的styles.xml看起来是这样的:
<style name="AppTheme" parent="...">
....
</style>
<style name="AppTheme.NoActionBar" parent="...">
....
</style>
我的androidmanifest。xml是这样的:
<application
android:label="@string/app_name"
android:theme="@style/AppTheme">
....
</application>
出于某种原因,我决定让我的主题没有ActionBar,所以我继续下去,从我的styles.xml中删除了它。这是更新后的版本:
<style name="AppTheme.NoActionBar" parent="...">
....
</style>
除此之外,我还必须更新清单文件中的主题,但我忘记了这一点。所以当我运行应用程序,我得到的错误说:
错误:没有找到默认活动
经过长时间的挣扎,我发现了问题,并相应地修改了我的载货单:
<application
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
....
</application>
结论:
如果你有一个错误的AndroidManifest.xml可能导致清单合并失败,那么AS会给出这个错误。
其他回答
有时会出现这种错误,因为Android Studio的错误行为,因为内部缓存和项目构建系统。即使我们已经为默认活动完美地设置了一切。
对于这样的问题,我找到了一个解决方案,它是为我工作。
步骤1。Android Studio→菜单文件→无效缓存,关闭Android Studio。
步骤2。进入路径C:\Users\USER.AndroidStudio3.2\system
步骤3。更改名称扩展为下面文件夹的.back
Example: compiler should be *compiler.back*
编译器 compiler-server 转换 external-build_system 框架 gradle resource_folder_cache
步骤4:启动Android Studio并打开项目。
我一直在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。
奇怪的是,其他团队成员并没有遇到这个问题。
前面的答案对我没有任何帮助。过了一段时间,我发现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>
我的问题是:
在我的应用程序模块清单,我必须替换另一个依赖模块清单标签。
我在应用程序标签下添加了下面的代码,它为我工作:
tools:replace="android:allowBackup, android:usesCleartextTraffic"
对你来说,这可能是由于一些其他性质。您还必须重写它们。
我有这个问题两天了。我尝试了所有可能的解决办法,但都没用。最后,我找到了一个解决方案。
以下是你需要做的:
关闭Android Studio 转到c:\ users \ username将build-cache文件夹重命名为build-cache.bak 进入C:\Users\UserName.AndroidStudio3.3\system并重命名这些文件夹 缓存到cache .bak 编译-server到编译-server.bak 把蝙蝠 转换到Conversion .bak External_build_system到External_build_system .bak Frameworks到Frameworks .bak Gradle到Gradle .bak Resource_folder_cache到Resource_folder_cache .bak 打开Android Studio,再次打开你的项目。