我把IntelliJ IDEA从12.0.4升级到12.10。
现在我的Android项目中的所有模块都给出了错误:
错误:没有找到默认活动
我恢复到12.0.4,一切都恢复正常了。
什么好主意吗?我认为这可能是一个丢失插件的问题。由于插件没有安装,它无法找到默认活动。另一个东西可能是本地配置,但我对此表示怀疑。我删除了配置文件夹来验证,这没有改变任何东西。
我把IntelliJ IDEA从12.0.4升级到12.10。
现在我的Android项目中的所有模块都给出了错误:
错误:没有找到默认活动
我恢复到12.0.4,一切都恢复正常了。
什么好主意吗?我认为这可能是一个丢失插件的问题。由于插件没有安装,它无法找到默认活动。另一个东西可能是本地配置,但我对此表示怀疑。我删除了配置文件夹来验证,这没有改变任何东西。
当前回答
我从一个演示应用程序开始,并对其进行了修改。我改变java路径内的源从com -> example -> foo到我自己和编辑清单;然而,Android Studio(0.8.7)却非常困惑。
我尝试了上面列出的所有方法,但没有一种对我有效。也许它甚至让事情变得更糟?
我的最终解决方案是编辑<projectname>。在Android Studio(又名文本编辑器)中打开。idea子目录下的iml。
之前:
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
</content>
我(重新)添加了src目录(第二行)。 后:
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
</content>
保存后,Android Studio重新加载并开始正常运行。
其他回答
如果你的应用有一个默认的启动活动,这可能是你的错误:
步骤1:选择“编辑配置”
步骤2:注意这个警告:未找到默认活动
第三步:选择一个默认活动
步骤3:保存更改并完成
祝你好运
进入清单→合并清单标签(屏幕底部)。
在右边的面板中,如果有任何错误,请解决它!
这就是我的解决方案(一个工具错误:不需要替换)。
对我来说,这个问题的发生是因为其他原因。所以即使它有超过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会给出这个错误。
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"/>
虽然很丑,但对我很管用:
我有这个错误消息,我的问题是在一个模块。我只是删除了应用程序标签完全从我的模块的清单和它工作。
(同时从模块库中删除ic_launcher。)
它是:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mymodule"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="23"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<activity
android:name="com.example.mymodule.MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
Now:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mymodule"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="23"/>
</manifest>