Flutter插件中如何读取CHANGELOG文件并在示例中展示?
Flutter插件中加载CHANGELOG.md的解决方案
问题原因
直接用rootBundle.loadString("CHANGELOG.md")读不到插件资源,是因为插件资源会被打包到package命名空间下,而非主应用的默认资源路径,rootBundle默认仅加载主应用本地资源。
步骤1:修正pubspec.yaml配置
确保assets配置在flutter节点内部,路径与文件位置匹配:
flutter: plugin: platforms: android: package: com.upos.vn.printer_v3 pluginClass: PrinterV3Plugin ios: pluginClass: PrinterV3Plugin assets: - CHANGELOG.md
注意:CHANGELOG.md要放在插件根目录(和pubspec.yaml同级),文件名大小写需和配置完全一致。
步骤2:修改资源加载代码
用package路径加载插件资源,把printer_v3替换成你插件pubspec.yaml里的name字段值:
@override Future<String?> getPackageVersion() async { try { String text = await rootBundle.loadString('package:printer_v3/CHANGELOG.md'); return text; } catch (e) { print('加载CHANGELOG失败: $e'); return null; } }
验证要点
- 插件包名必须和pubspec.yaml的
name字段一致 - 执行
flutter pub get刷新资源配置 - 示例应用测试时,需确保已正确依赖该插件
内容的提问来源于stack exchange,提问作者Trần Văn Hiếu
相关产品推荐
相关产品推荐

