lancexin / aspect_frontend_server

frontend_server.dart.snapshot,让flutter具有aspectd的功能,最高支持到flutter3.13.2
MIT License
24 stars 1 forks source link

编译出现空安全问题 #4

Open leejunj opened 1 year ago

leejunj commented 1 year ago

截屏2023-05-18 00 41 12 在执行dart --deterministic --no-sound-null-safety --packages=rebased_package_config.json --snapshot=frontend_server.dart.snapshot --snapshot-kind=kernel lib/starter.dart时提示代码中很多空安全的写法不被当前库支持,但我当前Flutter是2.8.1版本,Dart是2.15.1,按说应该已经支持了空安全写法才对。

leejunj commented 1 year ago

虽然不清楚为什么编译快照会卡在空安全上,但通过给transformer.dart和utils.dart文件头加 // @dart = 2.15 可以让快照编译出来,明明我当前Dart --version是2.15.1

lancexin commented 1 year ago

项目编译的要点: 1.dart_sdk源码版本和 flutter 里 dart 的版本是一一对应的,需要切换 dart_sdk的版本 2.项目的版本和 flutter 的版本是一一对应的,不要用 master 去编译,dart_sdk是不断更新的,项目为了适配都做了微小的改动 3.尽量用最新的项目版本去编译,因为之前的 flutter 版本需要稍微修改 dart_sdk里的代码才能通过编译,这个在后续的项目里做了修改 4.通过 depot_tools去更新 dart_sdk,通过 gclient去更新 dart_sdk里的依赖包