HarmonyOS鸿蒙Next中Flutter适配最新远端同步下来的产物 platform.dart 中无 Platform.isOhos 实现
HarmonyOS鸿蒙Next中Flutter适配最新远端同步下来的产物 platform.dart 中无 Platform.isOhos 实现
之前 flutter 引擎产物是单独下载为本地,按文档配置执行 flutter 命令参数时带上 --local-engine=$本地引擎产物目录
,最新 flutter 文档说可以不用本地,会自动下载远端产物,但是编译运行时报找不到 Platform.isOhos
实现。对比了下最新远端下载后的产物内:
flutter_flutter/bin/cache/pkg/sky_engine/lib/io/platform.dart
和之前手工下载引起产物目前文件对比下
flutter_engine/src/out/ohos_release_arm64/gen/dart-pkg/sky_engine/lib/io/platform.dart
发现远端下载的这个文件缺失 Platform.isOhos
的定义
flutter build hap --release
flutter build hap --release --local-engine=$本地引擎产物目录
步骤 1 执行会报错:
lib/pages/login/login.dart:868:34: Error: Member not found: 'isOhos'.
visible: !Platform.isOhos,
^^^^^^
更多关于HarmonyOS鸿蒙Next中Flutter适配最新远端同步下来的产物 platform.dart 中无 Platform.isOhos 实现的实战教程也可以访问 https://www.itying.com/category-92-b0.html
这里的产物还是使用的原版的
可以先使用这种方式判断:
https://gitee.com/openharmony-sig/flutter_samples/blob/master/ohos/docs/08_FAQ/ohos_code.md
更多关于HarmonyOS鸿蒙Next中Flutter适配最新远端同步下来的产物 platform.dart 中无 Platform.isOhos 实现的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在HarmonyOS鸿蒙Next中,Flutter适配时如果发现platform.dart
中缺少Platform.isOhos
实现,可以通过自定义平台检测逻辑来解决。首先,检查Flutter SDK版本是否支持鸿蒙系统。若不支持,可考虑在platform.dart
中扩展Platform
类,添加isOhos
属性。通过判断defaultTargetPlatform
或使用dart:io
中的Platform
类,结合鸿蒙系统特有的标识(如ohos
或harmony
),实现自定义的平台检测。最后,确保代码在鸿蒙系统上运行时能正确识别并返回true
。