本指南将帮助你从 0 到 1 创建并适配一个支持 Android / iOS / Web / Windows / macOS / Linux 的 Flutter 多平台项目。
✅ 一、创建支持多平台的 Flutter 项目
flutter create my_multi_platform_app
cd my_multi_platform_app
默认会生成支持以下平台的代码结构:
Android(android/)iOS(ios/)Web(web/)Windows(windows/)macOS(macos/)Linux(linux/)
需要 Flutter 3.0+ 才支持 Desktop/Web 默认创建。
✅ 二、确保已启用各平台支持
运行以下命令开启所有平台支持(如未默认开启):
flutter config --enable-web
flutter config --enable-macos-desktop
flutter config --enable-windows-desktop
flutter config --enable-linux-desktop
使用以下命令查看当前已支持的平台:
flutter devices
✅ 三、已有项目添加平台支持
如果已有项目未包含所有平台支持,可使用:
flutter create .
这会自动补充缺失的 web/, windows/, macos/, linux/ 等目录。
✅ 四、运行项目(多平台调试)
平台命令Androidflutter run -d androidiOSflutter run -d iosWebflutter run -d chromeWindowsflutter run -d windowsmacOSflutter run -d macosLinuxflutter run -d linux
也可以在 VS Code / Android Studio 中通过设备面板选择运行平台。
✅ 五、代码中判断运行平台
import 'dart:io' show Platform;
import 'package:flutter/foundation.dart' show kIsWeb;
if (kIsWeb) {
// Web 平台
} else if (Platform.isAndroid) {
// Android 平台
} else if (Platform.isIOS) {
// iOS 平台
} else if (Platform.isWindows) {
// Windows 平台
} else if (Platform.isMacOS) {
// macOS 平台
} else if (Platform.isLinux) {
// Linux 平台
}
✅ 六、推荐的多平台开发实践
项目内容推荐做法UI 适配使用 LayoutBuilder / MediaQuery 实现响应式布局文件路径适配使用 path_provider 插件插件选择查阅 pub.dev,确认插件支持哪些平台平台代码差异封装 PlatformService 做平台判断与分发
✅ 七、项目构建发布命令
平台命令Android APKflutter build apkAndroid AABflutter build appbundleiOSflutter build iosWebflutter build webmacOSflutter build macosWindowsflutter build windowsLinuxflutter build linux
✅ 八、推荐插件(支持多平台)
插件用途说明shared_preferences简单持久化存储url_launcher打开外部链接device_info_plus获取设备信息flutter_local_notifications本地通知path_provider获取平台路径package_info_plus获取应用版本信息go_router / beamer多平台路由支持
✅ 九、桌面和 Web 的开发注意事项
平台注意事项Web不支持 dart:io,应使用 http 等 Web API 替代桌面端部分插件需要额外权限或配置支持UI 布局桌面建议优化键盘和鼠标交互体验,使用响应式布局组件
✅ 十、总结推荐
目标推荐方案跨平台开发使用 Flutter 多平台项目结构快速适配利用平台判断拆分逻辑插件兼容性优先选支持 Web/Desktop 的插件UI 兼容性使用响应式布局应对不同尺寸与 DPI
如需更多模板、插件推荐或平台适配方案,可查阅 Flutter 官方文档。