我可以为 Flutter 应用程序使用 Android 8.0 自适应图标吗?

Can I use Android 8.0 Adaptive Icons for a Flutter app?

如何在 Android 8.0 及更高版本上为我的 Flutter 应用程序使用自适应图标? Android Studio 中的“创建图像资产”对话框显示 "Project must be built with SDK 26 or later to use adaptive icons",即使 my android build.gradle 的 CompileSDKVersion 设置为 27。如果我在 XML 中定义图标,它不起作用,它似乎只使用常规的遗留应用程序图标。

它们工作得很好。

解决方案

要使用对话框,您需要在 Android Studio 中打开 Android 模块 .
Flutter.dev article

菜单栏中的导航如下:Tools ~> Flutter ~> Open Android module in Android Studio 或在项目视图中右键单击 android 文件夹中的任意位置和 select Flutter ~> Open Android module in Android Studio.

现在您将能够正常使用资产对话框

如果还是不行(这不会发生)

如果您的对话框 在您的 Flutter 项目 中不起作用,您可以轻松地创建一个 自适应图标Android 项目中 然后复制必要的文件,它们是:

  • ic_launcher_background.xml(可绘制),如果您选择颜色

    [=76,我认为它位于 values =]
  • ic_launcher_foreground.xml (drawable-v24)

  • ic_launcher.xml 如果您创建了它 ic_launcher_round.xml (mipmap-anydpi-v26)

  • 所有 ic_launcher.pngic_launcher_round.png(mipmap-hdpi 到 mipmap-xxxhdpi)用于旧版支持。我想如果您的最低 SDK 要求高于 25

  • ,则不需要这些

这将涵盖我的一切。现在,在您的 AndroidManifest.xml 中为您的应用程序指定 android:icon="@mipmap/ic_launcher",即在您的 <application> 标签中,如果需要 android:roundIcon:"@mipmap/ic_launcher_round".