Flutter package 内部加载该包的 assets 时,需要使用 packages/ 前缀
当从 Flutter package 内部加载该包的 assets 时,需要使用 packages/ 前缀。正确的路径应该是:
ByteData data = await rootBundle.load("packages/json_picker/assets/casual_location.db");
为什么会这样?
Flutter 的资源系统会将:
- 主应用的 assets 放在根目录
- 每个包的 assets 放在 packages/包名/ 路径下
错误信息中显示的 "vendor/json_picker/assets/casual_location.db" 是文件系统实际路径,但在运行时,Flutter
将其打包到了 packages/json_picker/assets/ 路径下。
