动态修改 Android 版 Maui .NET 8 应用程序图标

问题描述 投票:0回答:1

我在使用 .NET 8 的 .NET MAUI 应用程序中遇到以下问题:我需要根据应用程序是在 Release 还是 Debug 模式下编译来显示不同的应用程序图标。这样可以在与他们一起工作时更好地控制。

我根据所选的构建配置在 .csproj 文件中声明

MauiIcon

<!-- App Icon -->
<MauiIcon Condition="'$(Configuration)' == 'RELEASE'" Include="Resources\AppIcon\appiconblack.svg" ForegroundScale="0.65" Generate="True" />

<MauiIcon Condition="'$(Configuration)' == 'DEBUG'" Include="Resources\AppIcon\appicon.svg" ForegroundScale="0.65" Generate="True" />

到目前为止,一切都很顺利。我无法解决的问题是如何在

AndroidManifest
文件中动态应用正确的图标:

<application android:allowBackup="true" android:icon="@mipmap/appicon" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true">
</application>

我找不到一种方法让

AndroidManifest
根据构建配置动态加载正确的应用程序图标。

android maui .net-8.0
1个回答
0
投票

无需更改

AndroidManifest
中的任何内容。我有适用于所有平台的解决方案。

  1. 在您的
    AppIcon
    文件夹中创建两个子文件夹,
    Debug
    Release
  2. 现在将您的应用程序图标文件添加到相应的文件夹中。这两个文件的名称应为appicon。例如:
    appicon.svg
  3. 现在在 csproj 文件中,您可以根据配置指定图标,如下所示
<MauiIcon Condition="'$(Configuration)' == 'RELEASE'" Include="Resources\AppIcon\Release\appicon.svg" ForegroundScale="0.65" Generate="True" />
<MauiIcon Condition="'$(Configuration)' == 'DEBUG'" Include="Resources\AppIcon\Debug\appicon.svg" ForegroundScale="0.65" Generate="True" />

这应该没有任何问题。

注意:在部署发布和调试版本之前执行

Rebuild

© www.soinside.com 2019 - 2024. All rights reserved.