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

.NET MAUI项目因应用图标问题无法归档/发布求助

问题描述

按照微软MAUI应用图标文档指引,对项目做了如下修改:

Android Manifest配置

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:allowBackup="true" 
              android:icon="@mipmap/kigoo" 
              android:roundIcon="@mipmap/kigoo_round" 
              android:supportsRtl="true">
   
 </application>
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.INTERNET" />

<queries>
  <intent>
    <action android:name="android.intent.action.DIAL" />
    <data android:scheme="tel"/>
  </intent>
  <intent>
   <action android:name="android.intent.action.SENDTO" />
   <data android:scheme="mailto" />
  </intent>
 </queries>

</manifest>

项目.csproj文件配置

<!-- App Icon -->
   <MauiIcon Include="Resources\AppIcon\appicon.svg" 
   ForegroundFile="Resources\AppIcon\kigoo.svg" ForegroundScale="0.65" Color="#512BD4" 
    />

项目可正常部署到模拟器和物理设备,但遇到以下问题:

  • Debug模式下归档(用于排查错误)失败,无错误提示;
  • Release模式下归档时抛出3个错误:
    1. Severity Code Description Project File Line Suppression State
      Error APT2260 resource mipmap/kigoo_round (aka com.companyname.kigoopcmauisimple:mipmap/kigoo_round) not found. This error is likely caused by an issue with the AndroidManifest.xml file or an Android manifest generation attribute in a
      source code file. KigooPCMauiSimple C:\Users{path} 1

    2. Severity Code Description Project File Line Suppression State
      Error APT2260 resource mipmap/kigoo (aka com.companyname.kigoopcmauisimple:mipmap/kigoo) not found. This error is likely caused by an issue with the AndroidManifest.xml file or an Android manifest generation attribute in a source code file. KigooPCMauiSimple
      C:\Users{path} 1

    3. Severity Code Description Project File Line Suppression State
      Error APT2067 failed processing manifest. KigooPCMauiSimple C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\32.0.448\tools\Xamarin.Android.Aapt2.targets 212

解决方案

核心原因

MAUI的MauiIcon会自动生成Android所需的mipmap资源,但你手动在AndroidManifest中指定了android:icon和android:roundIcon,而MAUI默认生成的资源名称是appicon而非kigoo,导致归档时找不到对应资源。

具体修复步骤

  1. 修改AndroidManifest.xml
    移除手动指定的android:icon和android:roundIcon属性,让MAUI自动处理图标配置:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <application android:allowBackup="true" 
                 android:supportsRtl="true">
       
     </application>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.INTERNET" />
    
    <queries>
      <intent>
        <action android:name="android.intent.action.DIAL" />
        <data android:scheme="tel"/>
      </intent>
      <intent>
       <action android:name="android.intent.action.SENDTO" />
       <data android:scheme="mailto" />
      </intent>
     </queries>
    
    </manifest>
    
  2. 确认csproj配置有效性
    保持现有MauiIcon配置不变,MAUI会根据该配置自动生成包含圆形图标在内的所有mipmap资源,无需手动在Manifest中声明:

    <!-- App Icon -->
    <MauiIcon Include="Resources\AppIcon\appicon.svg" 
              ForegroundFile="Resources\AppIcon\kigoo.svg" 
              ForegroundScale="0.65" 
              Color="#512BD4" />
    
  3. 清理重建项目

    • 执行dotnet clean命令清理项目
    • 删除项目目录下的bin和obj文件夹
    • 重新尝试Debug/Release归档

额外排查点

如果上述步骤无效,检查以下内容:

  • 确认Resources\AppIcon目录下的appicon.svg和kigoo.svg文件存在,且文件路径与csproj中的配置完全一致
  • 检查Android项目的Resources\mipmap-*目录是否有生成的图标资源,若没有,可尝试卸载并重新安装MAUI workload:
    dotnet workload uninstall maui
    dotnet workload install maui
    

内容的提问来源于stack exchange,提问作者Rikudou En Sof

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:45:35