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

Android项目Manifest生成错误图标路径导致无法部署求助

解决Xamarin构建后Activity图标残留旧引用的问题

我遇到过好几次这种Xamarin构建缓存或配置合并导致的残留问题,给你几个针对性的排查和解决步骤:

  • 彻底清理项目缓存:这是最常见的解决办法。先右键项目选择Clean,再右键解决方案选择Clean;接着手动删除项目目录下的bin和obj文件夹(这两个目录里的缓存经常会保留旧配置),之后重新构建项目。

  • 核对Activity注解的拼写与资源文件:确认你的Activity属性里Icon = "@drawable/ic_launcher"的拼写完全正确,同时检查Resources/drawable(包括各种分辨率子目录,如drawable-hdpi、drawable-mdpi)下确实存在ic_launcher系列图标,且没有残留的旧Icon图标文件(避免构建时被误引用)。

  • 检查项目属性的Android Manifest配置:打开项目属性(右键项目→Properties),切换到Android Manifest选项卡:

    • 确认Application Icon设置为@drawable/ic_launcher;
    • 找到你的启动Activity,检查其图标设置是否也是@drawable/ic_launcher,避免项目级配置覆盖了Activity注解的设置。
  • 手动编辑项目文件(.csproj):有时候项目文件里会残留模板生成的旧配置。用文本编辑器打开你的项目.csproj文件,搜索<AndroidLauncherIcon>或类似节点,看看有没有指向旧Icon的配置,把它修改为ic_launcher后保存,再重新加载项目。

  • 直接在Manifest文件中指定Activity图标:尝试在项目的Properties/AndroidManifest.xml里,给你的启动Activity标签手动添加android:icon="@drawable/ic_launcher"属性,比如:

    <activity android:name=".MainActivity"
              android:icon="@drawable/ic_launcher"
              android:label="你的应用名称"
              android:launchMode="singleTop"
              android:configChanges="...">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    

    这种手动指定的方式优先级较高,通常能覆盖注解生成的配置。

  • 重启IDE:如果以上步骤都没效果,试试重启你的IDE(Visual Studio/Rider),有时候IDE自身的缓存会导致配置无法及时更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:02:40