我的 Default Activity 怎么了?

What happened to my Default Activity?

最近更新后,我的应用程序不会运行。这是每当我 运行 应用程序时发生的情况:

14:42   Gradle sync started

14:42   Project setup started

14:42   Gradle sync finished in 2s 996ms (from cached state)

14:42   Error running 'app': Default Activity not found

我尝试了大部分已知的方法并在网上搜索,但没有帮助。我什至使缓存失效以查看是否存在任何索引问题。我删除的一些文件已恢复,以查看是否可能是问题的原因,但事实并非如此。

这是我的清单的当前状态:

    <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<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">

<meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="AIzaSyC60Yz2nx7GlbBMJqm69j_dZCuV_ULUIB0"/>

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

    <activity android:name=".MapActivity"/>

</application>

请在下方留下您的建议。感谢您的帮助!

有几个可能的解决方案:

选项一:

文件> 使缓存无效并重新启动

选项二:

检查清单中的 activity 标签是否有启动器 intent-filter。这表明 activity 是默认的 activity。启动器意图过滤器如下所示:

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

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

只需将它添加到您想要设为默认 activity 的任何 activity 的 activity 标签内即可。

选项三(适用于旧版本的 Android studio):

在您的 Android Studio 中,右键单击您的项目并选择 打开模块设置 。导航到 Sources 选项卡,找到 src 文件夹,右键单击它并将其标记为 "Sources".

编辑:

选项三(适用于较新版本的 Android studio):

选项 2 不适用于较新版本的 Android studio,因为源选项卡不存在。您仍然可以通过将 src 文件夹添加到您的 build.gradle 文件来手动添加它。您可以使用 this 作为指南。

为这个更改你的标签:

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