默认 Activity 未找到 - Android Studio 3.3 中的错误

Default Activity Not Found - Bug in Android Studio 3.3

当我在 Android Studio 3.3 中创建一个新项目时,它在 Run -> Edit Configurations 处显示错误

default activity is not found.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>

</android.support.constraint.ConstraintLayout>

这是我的 activity_main.xml 文件。它在行

中显示错误
tools:context=".MainActivity"

Unresolved Class MainActivity

这是我的 AndroidManifest.xml 文件 - 一切似乎都在这里 -

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.android.myapplication">

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
</application>

</manifest>

文件 colors.xmlic_launcher_background.xmlic_launcher_foreground.xml 格式不正确,看起来像这样 -

        f

        isInitialized
        kotlin
        Boolean
        reflect

        KProperty0
        SinceKotlin
        version
        1.2
        internal

        InlineOnly0






             4"  8�H PX��     (�    �

我尝试 Clean and Rebuild 项目,但出现错误

colors.xml is not formed properly.

我试过File -> Invalidate Caches/Restart,但它仍然显示相同的错误。

这个问题是在 Android Studio 3.2.1 更新到 Android Studio 3.3 一天后出现的。第一天一切正常,但当我在第二天尝试 运行 一个应用程序时,它开始显示此错误消息 Default Activity not found.

有什么方法可以解决这个问题并继续使用 Android Studio 3.3 版吗?

编辑 -

耶!正如@Andreas 所建议的,我的 Android Studio 本身可能已损坏,并且在卸载并重新安装相同版本后一切正常(我什至没有恢复到旧版本)。应检查此问题是否会在几天内再次出现。

编辑 2-

一年后我正在看这个,我很高兴它帮助了很多人。原来这个问题可能由于各种问题而出现,并且没有一个完美的答案。因此,如果您遇到同样的问题,请检查所有答案,看看是否有适合您的方法:)

使用选项 Invalidate Caches/Restart 重新启动您的 android 工作室。您可以在文件选项下找到此选项。我想这对你有用。

关闭项目并删除 C:\Users\UserName\.AndroidStudio3.3 文件夹中的 Cache 文件夹并构建项目。

Android Studio 本身有可能已损坏。卸载并重新安装 Android Studio 解决了问题。

我在 3.4 版中遇到了同样的问题。转到构建 -> 编辑构建类型 -> SDK 位置并选中 使用嵌入式 JDK(推荐)。 效果很好。

在 Android Studio 3.5.2 中,我的自定义 launcher/custom 家庭应用出现此错误。我能够通过创建一个全新的空白 activity 应用程序,然后替换

来重现它
     <category android:name="android.intent.category.LAUNCHER"/>

     <category android:name="android.intent.category.DEFAULT" />
     <category android:name="android.intent.category.HOME" />

在清单中。那个单一的变化导致 Android Studio 失去对默认 activity 的跟踪。我可以通过在 Run/Debug 配置中指定 activity 来继续调试。

我只需要删除我的 Gradle 缓存文件夹。在 Mac 上,它位于 ~/.gradle/caches

经过大量搜索后,这对我有用,

转到编辑配置 -> Select 你的应用程序模块 -> 在启动选项下 -> Select 启动下拉列表中没有内容。

(参考图片以获得更好的参考)

Run/Debug 配置

A​​ndroidApp > 应用 > 常规

  • 模块:应用程序
  • 部署:默认 APK
  • 启动:默认 Activity

GL

使用 Android Studio 3.6.2 这种情况可能会随着 gradle 更新而出现。我发现在 settings.gradle 文件中添加 rootProject.name='YourAppName' include ':app' 将解决此问题,一旦您使缓存无效并重新启动 Android studio,或关闭应用程序并 Android Studio,然后重新启动它们。

None 这里的其他解决方案对我有用,但是在我将以下内容添加到我的应用程序模块的 build.gradle 文件(追逐不同的问题)后,这个错误消失了:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

无论如何都值得一试。

您可能从选择器中选择了错误的模块 运行 应用程序。尝试 运行 包含主 activity.

的主模块

我遇到了类似的问题,原因是清单合并。出现错误,因此未正确合并。解决该错误后一切正常。

要检查合并时是否存在错误,请转至 AndroidManifest.xml 并点击“合并清单”选项卡。会有“合并错误”

See this screenshot

Android 花栗鼠工作室 | 2021.2.1

编辑配置...

启动选项:

  1. 将“默认 Activity”替换为“无”
  2. 运行 应用程序(有效!) 再次启动选项:
  3. 再次将“Nothing”替换为“Default Activity”
  4. 运行 应用(终止 运行 应用)

对我有帮助。