Dart/Flutter钩子将lib代码和资源打包进macOS框架,并且不含点号字符
我的环境详情:
=== Dart信息 ===
- Dart 3.11.1(稳定版)(Tue Feb 24 00:03:07 2026 -0800) 在 "macos_arm64" 上
- 在macOS / 版本26.3.1 (a) (构建25D771280a)
- 区域设置为en-US
项目信息
- sdk约束:'^3.11.1'
- 依赖项:code_assets, dart_ipc, data_assets, ffi, flutter, hooks, logging, native_toolchain_c, path
- 开发依赖:ffigen, flutter_lints, test
=============
我的问题:
我正在使用Dart Hook功能,将我的macOS Flutter应用与第三方动态库集成。
我的Hook的 build.dart脚本将这些库作为DynamicLoadingBundled() 代码资源添加。
问题:运行时这些库的代码资源找不到。
原因:第三方库的文件路径包含点字符,但Flutter构建在打包时会把它们移除。
例如,第三方代码想要加载动态库
Frameworks/bare-dns.2.1.4.framework/bare-dns.2.1.4
但Flutter构建把它打包成
Frameworks/bare-dns214.framework/bare-dns214
是否有一个Flutter构建设置,可以保留点字符?
解决方案
已将此问题反馈给Flutter团队。结果:Flutter构建过于严格,我应该准备一个PR来修复它。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。