我正在使用桌面版Flutter,搜索了许多文章但找不到关于如何更改Windows桌面、Mac和Linux的应用程序启动器图标的方法。
我正在使用桌面版Flutter,搜索了许多文章但找不到关于如何更改Windows桌面、Mac和Linux的应用程序启动器图标的方法。
要更改图标,只需在您的项目中替换图标文件:
Linux 模板中尚未设置图标;您可以关注此问题以获取更新。
然后进入windows/runner/resources/Runner.rc文件并搜索单词app_icon。您将到达此处:windows/runner/resources/
IDI_APP_ICON ICON "resources\\app_icon.ico"
将app_icon替换为您的图标文件名称。 然后运行命令。
flutter build windows
flutter run --release -d windows
我有最好的方法,使用Flutter Launcher Icons来为您的Windows、Android等设备设置图标。
dev_dependencies: flutter_launcher_icons: "^0.10.0"
flutter_icons: android: "launcher_icon" ios: true image_path: "assets/icon/icon.png" min_sdk_android: 21 # android min sdk min:16, default 21 web: generate: true image_path: "path/to/image.png" background_color: "#hexcode" theme_color: "#hexcode" windows: generate: true image_path: "path/to/image.png" icon_size: 48 # min:48, max:256, default: 48
flutter pub get
flutter pub run flutter_launcher_icons:main
注意:
你的图标名称应为小写,不要使用大写字母。
针对Linux系统
最佳和简单的方法是使用gtk_window_set_icon_from_file
函数
编辑您的my_application.cc
文件,该文件位于Linux文件夹linux/my_application.cc
内
gtk_widget_show(GTK_WIDGET(window));
行之前gtk_window_set_icon_from_file(GTK_WINDOW(window),"assets/icon.ico",NULL);
gtk_window_set_icon_from_file(GTK_WINDOW(window),"images-icons/out/icons/win/icon.ico",NULL);
,但是在 Linux 可执行文件的外观上没有任何变化。也许需要将图标放在 assets/
目录下,并使用 pubspec.yaml
注册为资源? - abulkaRunner.rc
文件中更改应用程序描述的这些字段:
CMakeLists.txt
中更改了BINARY_NAME描述字段。这是我的 flutter doctor
设置
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.1, on Microsoft Windows [Version 10.0.19043.1110], locale en-CA)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Chrome - develop for the web
[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.10.3)
[✓] Android Studio (version 4.1.0)
[✓] Android Studio
[✓] Connected device (3 available)
• No issues found!
最初仅仅替换图标并运行是无效的。
flutter build windows
也没有
flutter clean
flutter build windows
我发现在运行模式下图形用户界面上的图标会更新,但不幸的是 EXE 文件本身没有更新。
flutter run --release -d windows
resources/app_icon.ico
中的ICO文件,但图标没有改变。 - Zuher Abud Saidapp_icon.ico
不会有任何作用。我尝试了几种其他方法,包括在下面提到的Runner.rc
中指定另一个文件,但似乎都没有起作用。最后,我使Android Studio的缓存失效,重新启动了我的电脑,运行了flutter clean
,然后重新构建了我的应用程序。最终,通过替换app_icon.ico
更新了图标。 - il_bogaclean
,那就应该修复这个问题。 - smorgan