我把IntelliJ IDEA从12.0.4升级到12.10。

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

错误:没有找到默认活动

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

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


当前回答

虽然很丑,但对我很管用:

我有这个错误消息,我的问题是在一个模块。我只是删除了应用程序标签完全从我的模块的清单和它工作。

(同时从模块库中删除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>

其他回答

我在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文件分开到这个多个目录。

所以我在设置中把它改成了这样:

进入清单→合并清单标签(屏幕底部)。

在右边的面板中,如果有任何错误,请解决它!

这就是我的解决方案(一个工具错误:不需要替换)。

自从Android Studio 3.5或3.6以来,我开始找不到默认活动,我厌倦了无效缓存和重新启动,重建项目等。

事实证明,我处理多模块和清单的方式是错误的。我有默认的活动的清单在库模块,但它应该已经在两个应用程序模块。

假设库模块 appmodule1 appmodule2

Remove HomeActivity from librarymodule Manifest whatsoever. Add: class AppModuleActivity1 : HomeActivity() to appmodule1 class AppModuleActivity2 : HomeActivity() to appmodule2 To appmodule1 Manifest inside application tag, I added: <activity android:name="com.app.name.AppModuleActivity1"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> Same about appmodule2 but change 2 for 1 in naming.

这是在我的电脑意外重启后发生的。奇怪的是,我没有做任何修改,仍然得到这个错误。

以上这些对我都没有帮助。解决我问题的,是这个。

步骤1:

步骤2:

步骤3:

如果这不能解决问题,再试试别的办法。

试1:

菜单文件→无效缓存/重启…

试2:

检查以下两行,

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

在文件manifest.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>

试3:

如图所示: 打开“运行/调试配置”。

如果这也无济于事:

尝试4:

菜单文件→导出到ZIP。

and

将其作为一个新项目导入。

添加包= " your.package。Path解决了这个问题。我不知道为什么。我必须创建一个新的示例flutter项目,并将配置文件与我的配置文件进行比较才能找到这一点。

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.abc.app">...</manifest>