You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio调试应用图标不显示,修改AndroidManifest后无法运行求助

问题根源与解决方案

嘿,我一眼就揪出问题所在了——你在多个Activity里都配置了android.intent.category.LAUNCHER的Intent Filter!

为什么会导致图标消失?

Android系统的规则很明确:只有同时声明了<action android:name="android.intent.action.MAIN" />和<category android:name="android.intent.category.LAUNCHER" />的Activity,才会被识别为桌面启动项并生成应用图标。当你给多个Activity都加上这个配置时,系统直接懵了:要么无法确定哪个是主入口干脆不显示图标,要么生成一堆重复图标,甚至会让应用启动逻辑彻底混乱。

看你的Manifest文件,以下4个Activity都加了这个冲突的配置:

  • DispatchActivity
  • editProfile
  • MainActivity
  • RegisterActivity

修正后的Manifest代码

你只需要保留一个主入口Activity的LAUNCHER配置(从命名看DispatchActivity像是分发页,适合作为主入口),其他Activity都删掉这个多余的Intent Filter。修正后的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="sg.edu.singaporetech.teamproject">
<uses-permission android:name="android.permission.INTERNET" />
<!-- allow usage of camera for Android -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<!-- to run foreground service for steps -->
<uses-feature android:name="android.hardware.camera" android:required="true" />
<application android:name=".StepsNotification" android:allowBackup="true" android:icon="@drawable/exersize" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<activity android:name=".DispatchActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<activity android:name=".profile.editProfile" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" >
<!-- 移除了LAUNCHER的Intent Filter -->
</activity>
<activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden">
<!-- 移除了LAUNCHER的Intent Filter -->
</activity>
<activity android:name=".registration.RegisterActivity">
<!-- 移除了LAUNCHER的Intent Filter -->
</activity>
<activity android:name=".home.HomeActivity">
<!--<intent-filter>-->
<!--<action android:name="android.intent.action.MAIN" />-->
<!--<category android:name="android.intent.category.LAUNCHER" />-->
<!--</intent-filter>-->
</activity>
<receiver android:name=".StepsBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
<service android:name=".StepsService"/>
</application>
</manifest>

额外的排查小步骤

  1. 检查图标资源:确认@drawable/exersize这个资源存在,没有拼写错误(比如是不是应该是exercise?如果之前能正常显示可以忽略,但如果修正后还是不显示,优先检查这个)
  2. 清理重建项目:点击Android Studio顶部菜单栏的Build -> Clean Project,然后Build -> Rebuild Project,清除缓存避免旧配置残留
  3. 重装应用:先卸载手机上的旧版本应用,再重新运行安装,避免残留的启动配置影响

内容的提问来源于stack exchange,提问作者Jim Ng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 06:34:25