我的 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>
最近更新后,我的应用程序不会运行。这是每当我 运行 应用程序时发生的情况:
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>