执行命令之前一定要修改源
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
flutter docter # 执行该命令,时间长不构建可能会卡几十分钟
iOS
打包先 flutter build ios,再打包 flutter build ios --release ??? 导出要取消选择rebuild from bitcode
Android
直接输出apk flutter build apk 安装到手机 cd build/app/outputs/apk/release adb install -r app-release.apk 懒得进行权限管理,直接在手机中开启存储权限
MacOS
- 下载
https://github.com/google/flutter-desktop-embedding
,放在和flutter目录同级的位置 - cd到flutte,切换到master分支
- 添加环境变量 export ENABLE_FLUTTER_DESKTOP=true
- 执行flutter devices,会下载一些东西,发现多出了macOS设备
- 在自己的项目中运行,也会下载一些东西(最好拔掉iOS充电设备?) flutter run -d macOS
- 如果失败,把flutter-desktop-embedding/example/macos下面的文件覆盖到自己项目中的macos/下
- 修改flutter源代码
packages/flutter/lib/src/foundation/_platform_io.dart
platform.TargetPlatform result; if (Platform.isIOS) { ... // 加入以下两行 } else if (Platform.isMacOS) { result = platform.TargetPlatform.iOS; }
- build flutter build macos # 可能代码没更新,如果未更新就先用Android Studio run一次,再build Xcode -> Archive -> Distribute App -> Copy App(build后不要在xcode运行,直接archive,否则构建方式会改变,导致无法打开)
- Archive后发现无法进行网络请求,在Xcode中 Edit Scheme -> Archive,选择Debug,导出即可
错误
run -d macOS 时报错 PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks
cd macos pod install
TODO
- 时间选择
- localStorage + take photos + onScroll