错误:找不到默认活动

Saa*_*ooq 384 android intellij-idea android-studio

我将IntelliJ Idea 12.0.4升级到12.10.

现在,我的Android项目中的所有模块都会出错:

错误:找不到默认活动

我恢复到12.0.4并且它有效.

有任何想法吗 ??我认为它可能与一些未安装的插件有关,因为唯一的其他东西可能是本地配置,但我删除了配置文件夹以确认,并没有改变任何东西.

Sky*_*sey 738

如果您在升级IntelliJ IDEA或Android Studio版本后或在生成新APK之后发现错误,则可能需要刷新IDE的缓存.

File -> Invalidate Caches / Restart...
Run Code Online (Sandbox Code Playgroud)

  • 这在Android Studio中适用于我,但在重新启动后,我还必须执行工具 - > Android - >使用Gradle文件同步项目. (22认同)
  • 看看这个https://github.com/googlesamples/android-CommitContentSampleIME/issues/2#issuecomment-428936292 (3认同)
  • 有时会发生这种情况,但问题出在其他地方,例如我的问题是 minSdkVersion 太低 (3认同)
  • 您也可以尝试在此处提交错误:http://youtrack.jetbrains.com/issues/IDEA 我发现他们非常擅长跟进我提交的错误。 (2认同)
  • 没有为我工作。我不得不接受手动启动应用程序。这很糟糕。 (2认同)

mat*_*990 273

我不能评论为什么升级IntelliJ可能会导致这个问题因为我不使用它.

但是,该错误:"未找到默认活动"似乎告诉您,您没有在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>
Run Code Online (Sandbox Code Playgroud)

如果您没有至少一个具有类似意图过滤器的活动,您很可能会看到此处包含的错误消息.

您应该将该意图过滤器添加到您希望在启动应用程序时打开的Activity,这应该可以解决您的问题.

  • 对于那些相对较新的Android而且您刚刚搞砸了Android Studio项目的人来说,这就是您正在寻找的答案.接受的答案是当升级为您解决问题时. (18认同)
  • 我已经设置好了,我的项目已经运行了很多次,突然出错了。我不知道哪里错了。也许,这是AS的潜在错误。 (2认同)

Dav*_*kro 74

你的app有默认的启动活动吗?

可能这可能是你的错

在此输入图像描述

第1步:选择"编辑配置"

在此输入图像描述

第2步:观察此警告:未找到默认活动 在此输入图像描述

第3步:选择默认活动 在此输入图像描述

在此输入图像描述

第3步:保存更改并完成

在此输入图像描述

祝好运

在此输入图像描述

  • 我遵循了上述步骤,但现在它说“AndroidManifest.xml 中未声明活动‘MainActivity’”,尽管 MainActivity 在那里 (12认同)
  • 我选择了启动:“无”选项并且对我有用:) (4认同)

小智 59

执行此操作的正确方法是将以下内容添加到清单文件:

    <activity
        android:name="FULL_NAME_OF_YOUR_ACTIVITY"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

这应该插入:

<application> </application>
Run Code Online (Sandbox Code Playgroud)

无需使缓存无效.


Mic*_*cer 43

尝试右键单击项目,然后选择" 打开模块设置".然后转到模块中的Sources选项卡,找到src文件夹,右键单击它并将其标记为Sources(蓝色).

编辑: Android Studio的更高版本中没有源选项卡,但您可以编辑build.gradle文件:https://stackoverflow.com/a/22028681/1101730

  • 我做了同样的事情,但我右键单击了src文件夹并转到"Mark Directory As ..."然后"Sources Root". - Android Studio 0.8.6 (2认同)
  • 像魅力一样工作,删除当前根目录,并再次添加 src 和 gen 的父文件夹 (2认同)
  • 访问模块设置的快速方法是单击项目导航器并按 F4 (2认同)
  • 这已被弃用,因为**Open Module****上没有**Sources**标签了. (2认同)

Tao*_*Nhu 37

在 Android Studio 4.0 中,请将 Launch 更改为 Nothing:

运行/调试配置 -> Android 应用程序 -> 应用程序 -> 常规 -> 启动选项 -> 启动:无

在此处输入图片说明

  • 将 Android Studio 更新到 4.x 给了我这个问题,尝试了常见的东西。只有这个有效! (6认同)

小智 36

如果您正在使用小部件应用程序,此解决方案应该适合您:

  1. Edit Configuration
  2. 设置Launch Optionnothing

  • 这只是跳过问题,但并不能解决问题。设置为空后,应用程序不会在构建结束时运行 (3认同)
  • 你太棒了! (2认同)

Tou*_*der 21

在运行/调试配置下的Android Studio中 - > Android应用程序 - >常规 - >活动 - >选择"不启动活动"选项.

  • 当项目是服务时,这是解决方案,或者由于某些其他原因没有默认活动. (3认同)
  • 在 Android Studio 2.2.3 中;运行/调试配置 -&gt; Android 应用 -&gt; myApp -&gt; 常规 -&gt; 启动选项 -&gt; 启动:无 (3认同)

yul*_*kov 21

上面没有任何东西帮助我.过了一段时间后,我发现IDEA将动作名称改为大写.喜欢:

<intent-filter>
  <action android:name="ANDROID.INTENT.ACTION.MAIN"/>
  <category android:name="ANDROID.INTENT.CATEGORY.LAUNCHER"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

恢复正常后,IDEA识别默认活动:

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)


Sal*_*man 18

首先,确保清单中包含默认活动。

例:

<activity android:name=".DefaultActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

如果您尝试了一切,但似乎没有任何效果,那么

  • 从%Home%\。gradle \ caches中删除缓存,然后再次同步项目。

或检查此答案

/sf/answers/3743354121/


Neh*_*ary 18

100% 工作

你一定看到这个

在此处输入图片说明

首先打开您的清单并检查是否存在,

  <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>
Run Code Online (Sandbox Code Playgroud)

如果不存在添加它

如果上述内容存在,但您仍然看到未找到默认活动。

按着这些次序:

1.点击编辑配置

在此处输入图片说明

2. 点击编辑配置,你会看到启动选项设置在DEFAULT ACTIVIT Y

在此处输入图片说明

  1. 将其更改为

在此处输入图片说明

问题解决了!

快乐编码。


bio*_*007 12

由于此问题是清单过多问题的“登陆页面”,导致未找到默认活动,因此请检查您是否遇到此问题。

打开您的清单并切换到合并清单选项卡。

有时问题与将项目中的所有清单合并为一个相关,这可能会导致错误,因此“未找到默认活动”。问题是,据我所知,除了这个合并清单选项卡之外,这个错误没有显示在任何地方。

es:在一个项目中minSdkVersion 10,降级build.gradle文件中的实现版本:from25.4.025.3.1解决这个问题。

dependencies {
implementation 'com.android.support:appcompat-v7:25.3.1'   
implementation 'com.android.support:design:25.3.1'         
implementation 'com.android.support:mediarouter-v7:25.3.1' 
Run Code Online (Sandbox Code Playgroud)

合并清单


sif*_*_in 11

这发生在我的电脑意外重启后。
奇怪的是,我没有做任何更改,但仍然出现此错误。
以上都没有帮助我。什么解决了我的问题,就是这个。
第1步: 在此处输入图片说明


第2步: 在此处输入图片说明


第 3 步: 在此处输入图片说明

如果这不能解决问题,请尝试其他方法。

尝试 1:

File -> Invalidate Caches / Restart...
Run Code Online (Sandbox Code Playgroud)

尝试2:
检查以下两行是否

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
Run Code Online (Sandbox Code Playgroud)

在 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>
Run Code Online (Sandbox Code Playgroud)

尝试3:

  1. 点击如图: 在此处输入图片说明

  2. 运行/调试配置打开。 在此处输入图片说明





如果这也没有帮助。
尝试4:

  1. 文件-> 导出到 ZIP。

  2. 将其作为新项目导入。

好运。


Ror*_*ach 10

我改变了我的意图过滤器

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

只需添加 DEFAULT 选项。我正在使用Process Phoenix库,它提示我定义一个默认意图。这个添加解决了我的问题。


小智 10

此方法对我有用。单击应用程序图标,然后选择编辑配置。在编辑配置中,选择指定的活动而不是默认活动。然后在下面给出活动的路径。

点击应用并编辑配置

选择指定的活动和目录

最后与gradle文件同步。


小智 8

我收到了这个错误.

并发现在启动器活动的清单文件中我没有放入actioncategory意图过滤器.

错了一个:

<activity
android:name=".VideoAdStarter"
android:label="@string/app_name">

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

</activity>
Run Code Online (Sandbox Code Playgroud)

正确对象,真爱:

<activity
android:name=".VideoAdStarter"
android:label="@string/app_name">

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

</activity>
Run Code Online (Sandbox Code Playgroud)


use*_*924 8

在我的情况下File -> Invalidate Caches / Restart...没有帮助

我的项目一切都很好,当然我有下一个意图过滤我的活动

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

真正帮助我的是删除Android/Gradle缓存文件夹(它们可以增长到10-30 GB)

转到C:\Users\YOUR_USER_WINDOWS_NAME并删除下一个文件夹

  • .android
  • .AndroidStudio3.2
  • .gradle

(如果需要,可以.AndroidStudio3.2在删除之前保存一些Android配置)

您可以CLEAR_CACHE.cmd像这样创建bat文件来删除没有回收站的文件夹

rmdir /S /Q .android
rmdir /S /Q .AndroidStudio3.2
rmdir /S /Q .gradle
Run Code Online (Sandbox Code Playgroud)

它会更快地工作,你也不必从回收站中删除它

PS把CLEAR_CACHE.cmdC:\Users\YOUR_USER_WINDOWS_NAME

删除Android Studio文件夹并再次下载也是个好主意


Abh*_*arg 7

退出Android Studio。

前往路径 C:\Users\YOUR_WINDOW_USER_NAME\.AndroidStudio3.3\system

删除/ caches文件夹和/ tmp文件夹


Joh*_*ohn 6

@TouchBoarder几乎拥有它.虽然选择"不启动活动"会导致无法启动.

在Android Studio的运行/调试配置 - > Android应用程序 - >常规 - >活动 - >选择选项"启动:"

选择你的活动.这并不能完全解决预期的行为,而是正确地覆盖它.

编辑运行/调试配置并指定启动活动


Vla*_*ldy 5

之前的所有答案都没有帮助我。

\n

尝试删除

\n
<?xml version="1.0" encoding="utf-8"?>\n
Run Code Online (Sandbox Code Playgroud)\n

在你的 AndroidManifest 中。

\n

然后菜单File \xe2\x86\x92 Sync Project with Gradle Files

\n