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

从Xamarin.Forms迁移到.NET MAUI后Android端自定义应用图标不显示

解决.NET MAUI迁移后Android自定义图标及启动页不显示问题

排查与修复步骤

1. 彻底清理项目缓存与旧资源

  • 删除项目根目录下的obj、bin文件夹
  • 进入Platforms/Android/Resources目录,删除所有mipmap-*文件夹下的旧图标文件(避免Xamarin.Forms残留资源干扰)
  • 执行清理解决方案后再重建项目

2. 确认csproj中MauiIcon与SplashScreen配置完整性

确保项目文件(.csproj)中的图标和启动页配置包含必要参数,示例:

<MauiIcon Include="Resources\AppIcon\appicon.svg" 
          ForegroundFile="Resources\AppIcon\appiconfg.svg"
          Color="#512BD4"
          GenerateAll="true" />

<MauiSplashScreen Include="Resources\Splash\splash.svg" 
                  Color="#512BD4"
                  GenerateAll="true" />
  • GenerateAll="true"会强制生成全尺寸的Android平台资源
  • 若使用PNG格式,确保文件尺寸符合MAUI要求(至少512x512px)

3. 检查AndroidManifest.xml配置

打开Platforms/Android/AndroidManifest.xml,确认以下配置:

  • 应用图标指向MAUI生成的资源:
    <application android:icon="@mipmap/appicon" ...>
    
  • 启动Activity关联正确的启动页主题:
    <activity android:name=".MainActivity"
              android:theme="@style/Maui.SplashTheme" ...>
    

4. 强制生成Android平台资源

使用命令行工具执行资源生成命令,确保MAUI正确生成Android所需的图标和启动页文件:

dotnet build -t:GenerateAndroidResources -f net8.0-android

5. 清除设备/模拟器缓存

  • 模拟器:进入应用设置,清除数据后卸载应用,重启模拟器后重新部署
  • 真机:完全卸载应用,重启设备后再安装

6. 验证图标文件有效性

  • SVG格式:确保文件无复杂滤镜、渐变等可能导致MAUI生成失败的元素,可尝试简化SVG内容
  • PNG格式:使用无透明通道问题的PNG文件,避免损坏或格式不兼容

内容的提问来源于stack exchange,提问作者Henk van Unen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 14:37:33