add Flutter and uni-app x PoC verification documents in PDF format
This commit is contained in:
+34
-3
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## 0. 结论摘要
|
## 0. 结论摘要
|
||||||
|
|
||||||
> **验证范围:** 本文记录 Flutter_OH(Flutter 官方鸿蒙分支)在 OpenHarmony 模拟器上的最小化验证结果——工程构建安装、Flutter↔OHOS 原生插件双向通信、未实现原生能力的显式失败、以及 WebView 最小化探针(含 JS↔Dart 桥接往返)。本轮**主动收敛范围**,不含真机硬件和性能测试;当前结果不等同于正式生产可用。
|
> **验证范围:** 本文记录 CPF-Flutter 维护的 Flutter OpenHarmony 适配发行版(Flutter_OH)在 OpenHarmony 模拟器上的最小化验证结果——工程构建安装、Flutter↔OHOS 原生插件双向通信、未实现原生能力的显式失败、以及 WebView 最小化探针(含 JS↔Dart 桥接往返)。本轮**主动收敛范围**,不含真机硬件和性能测试;当前结果不等同于正式生产可用。
|
||||||
|
|
||||||
| 验证项 | 当前结果 | 状态 |
|
| 验证项 | 当前结果 | 状态 |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
@@ -10,14 +10,15 @@
|
|||||||
| Flutter ↔ OHOS 原生插件往返 | `core_storage`(`shared_preferences_ohos`)写入/读回一致 | 通过 |
|
| Flutter ↔ OHOS 原生插件往返 | `core_storage`(`shared_preferences_ohos`)写入/读回一致 | 通过 |
|
||||||
| 未实现原生能力的显式失败 | `native_scan` 按设计抛出 `NativeScanException(code=channel-error)`,非静默返回假数据 | 通过 |
|
| 未实现原生能力的显式失败 | `native_scan` 按设计抛出 `NativeScanException(code=channel-error)`,非静默返回假数据 | 通过 |
|
||||||
| WebView 最小化探针 | 内联 HTML/本地 HTTP 页面均可渲染,JS↔Dart 桥接往返已实现 | 通过 |
|
| WebView 最小化探针 | 内联 HTML/本地 HTTP 页面均可渲染,JS↔Dart 桥接往返已实现 | 通过 |
|
||||||
|
| Flutter 插件生态的 OHOS 适配 | 已运行验证存储、WebView;官方 package 与第三方库适配清单均覆盖大量常见原生能力 | 本 PoC 已验证 2 项;其余为公开适配候选 |
|
||||||
|
|
||||||
**当前状态:** 工程构建/安装/启动链路、Flutter 与 OHOS 原生插件的基础双向通信、未实现能力的显式失败路径、WebView 最小化渲染与 JS↔Dart 桥接往返均已验证通过。
|
**当前状态:** 工程构建/安装/启动链路、Flutter 与 OHOS 原生插件的基础双向通信、未实现能力的显式失败路径、WebView 最小化渲染与 JS↔Dart 桥接往返均已验证通过。存储和 WebView 两类常见 Flutter package 已在本 PoC 运行验证;官方 package 与第三方库的公开适配生态为其余常见原生能力提供了可选实现路径,但不替代项目级和真机验收。
|
||||||
|
|
||||||
**未闭环事项:** 真机硬件能力(相机扫码、定位、推送等);签名发布与性能。更完整的验证方法论(含 N-01~N-05 原生桥接、W-01~W-06 WebView 测试等待实施项)见同目录下的 [Flutter-OH-POC.md](./Flutter-OH-POC.md)。
|
**未闭环事项:** 真机硬件能力(相机扫码、定位、推送等);签名发布与性能。更完整的验证方法论(含 N-01~N-05 原生桥接、W-01~W-06 WebView 测试等待实施项)见同目录下的 [Flutter-OH-POC.md](./Flutter-OH-POC.md)。
|
||||||
|
|
||||||
## 1. 验证范围与说明
|
## 1. 验证范围与说明
|
||||||
|
|
||||||
本 PoC 重点确认 Flutter 官方鸿蒙分支(Flutter_OH)工程能否构建、安装和运行,已接入的原生插件双向通信是否正常,以及未实现的原生能力是否按预期显式失败而非静默降级。
|
本 PoC 重点确认 CPF-Flutter 的 Flutter_OH 工程能否构建、安装和运行,已接入的原生插件双向通信是否正常,以及未实现的原生能力是否按预期显式失败而非静默降级。
|
||||||
|
|
||||||
验证对象为 Continental Retail APP 的 Flutter 工程(`harmony_3.41.9` 分支);涉及的目标平台为 Android、iOS 和鸿蒙,本文仅记录鸿蒙侧验证结果。验证环境:Flutter_OH `3.41.10-ohos-1.0.0`,模拟器 `127.0.0.1:5555`(`ohos-x64`)。
|
验证对象为 Continental Retail APP 的 Flutter 工程(`harmony_3.41.9` 分支);涉及的目标平台为 Android、iOS 和鸿蒙,本文仅记录鸿蒙侧验证结果。验证环境:Flutter_OH `3.41.10-ohos-1.0.0`,模拟器 `127.0.0.1:5555`(`ohos-x64`)。
|
||||||
|
|
||||||
@@ -53,6 +54,36 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
### 2.5 OpenHarmony 适配的 Flutter packages
|
||||||
|
|
||||||
|
**结论:常见原生能力已有成体系的适配基础;本 PoC 已实际验证其中两项。** CPF-Flutter 的 [`flutter_packages` OpenHarmony 兼容适配项目](https://gitcode.com/CPF-Flutter/flutter_packages)基于 Flutter 社区 package 库提供 OHOS 实现。其公开兼容表按 Flutter `3.41` 列出了多项已适配版本;适配 package 通过 Git 依赖接入,`flutter pub get` 后由工具链处理对应 OHOS 依赖。
|
||||||
|
|
||||||
|
| 能力类别 | package 与公开适配版本(Flutter 3.41) | 本 PoC 状态 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 本地 KV 存储 | `shared_preferences` `2.5.4` | **已验证:** 固定至 CPF-Flutter commit `19bd50ff…`;`shared_preferences_ohos` 已注册,探针写入/读回一致 |
|
||||||
|
| WebView / JSBridge | `webview_flutter` `4.13.1` | **已验证:** 固定至 CPF-Flutter commit `89476bb…`;页面渲染、JS→Dart 与 Dart→JS 往返通过 |
|
||||||
|
| 文件与系统路径 | `file_selector` `1.1.0`、`path_provider` `2.1.5` | 公开适配版本已列出;未纳入本轮运行验证 |
|
||||||
|
| 图片与相机 | `image_picker` `1.2.1`、`camera` `0.12.0+1` | 公开适配版本已列出;真机相机、权限和业务链路待验证 |
|
||||||
|
| 外部跳转与生物认证 | `url_launcher` `6.3.2`、`local_auth` `3.0.1` | 公开适配版本已列出;未纳入本轮运行验证 |
|
||||||
|
| 视频与应用内购买 | `video_player` `2.11.1`、`in_app_purchase` `3.2.3` | 公开适配版本已列出;未纳入本轮运行验证 |
|
||||||
|
| 原生接口代码生成 | `pigeon` `26.3.4` | 公开适配版本已列出;当前项目锁定 `26.3.1` 用于 Android/iOS,OHOS ArkTS 生成链路未在本轮验证 |
|
||||||
|
|
||||||
|
这份适配清单说明,存储、文件、媒体、相机、认证、深链、WebView 等主流移动端能力已有明确的 OHOS package 接入路径;其中存储与 WebView 已由本项目实际运行证明。它不能证明任意第三方依赖、全部业务组合或真机硬件能力均已覆盖:每个含原生实现的 package 仍须锁定版本,并完成模拟器和目标真机验证。兼容表查询日期:2026-09-04。
|
||||||
|
|
||||||
|
### 2.6 OpenHarmony 适配的第三方库生态
|
||||||
|
|
||||||
|
**结论:第三方库的公开适配范围广,能够覆盖大部分常见移动端能力类别;是否可用于当前项目取决于 Flutter_OH 版本匹配和项目级验证。** CPF-Flutter 的 [OpenHarmony 平台 Flutter 三方库适配情况](https://gitcode.com/CPF-Flutter/docs/blob/main/ThirdpartyLibrarites.md)列出的“已适配”表编号为 1–262,覆盖权限、UI、设备信息、位置/地图、扫描识别、存储与文件、媒体、网络/蓝牙、安全加密、应用管理与通信等类别。
|
||||||
|
|
||||||
|
| 业务能力类别 | 已适配库示例 | 对本项目的意义 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 权限、设备与系统能力 | `permission_handler`、`package_info`、`device_info_plus`、`open_app_settings` | 可为权限申请、设备信息、应用设置等能力提供 OHOS 实现候选 |
|
||||||
|
| 定位、地图与扫码识别 | `location`、`geolocator`、`geocoding`、`amap_flutter_map`、`mobile_scanner`、`flutter_scankit` | 覆盖定位、地理编码、地图、二维码/条码等门店场景常见需求 |
|
||||||
|
| 文件、相册与打印 | `open_file`、`file_picker`、`photo_manager`、`printing`、PDF 查看类库 | 覆盖文件选择、相册管理、外部打开、打印和文档呈现等候选能力 |
|
||||||
|
| 媒体与交互 | `image_picker`、`camera`、`video_player`、`flutter_webrtc`、`flutter_tts` | 覆盖采集、图片/视频处理、音视频和语音交互等候选能力 |
|
||||||
|
| 网络、蓝牙、安全与业务支撑 | 蓝牙、Wi‑Fi、HTTP、加密、推送/通知、分享、应用升级等多类库 | 为外设连接、网络诊断、安全处理和应用运营能力提供候选实现 |
|
||||||
|
|
||||||
|
**版本边界:** 该第三方清单按 Flutter `3.7`、`3.22`、`3.27`、`3.35` 标注推荐版本,未提供当前 PoC 所用 Flutter_OH `3.41.10-ohos-1.0.0` 的对应关系。因此,以上 262 项是生态覆盖和选型候选的证据,**不是**对当前 3.41 PoC 的逐库运行验证;本 PoC 已实际运行通过的适配 package 仍是本节 2.5 所列的 `shared_preferences` 与 `webview_flutter`。第三方库引入时应按其仓库 TAG 固定依赖,并在 `ohos-x64` 模拟器和目标 `ohos-arm64` 真机完成验证。清单查询日期:2026-09-04。
|
||||||
|
|
||||||
## 3. 开发工具链问题
|
## 3. 开发工具链问题
|
||||||
|
|
||||||
### 3.1 `hvigorw`/`ohpm` 需要每个终端会话单独启用 PATH
|
### 3.1 `hvigorw`/`ohpm` 需要每个终端会话单独启用 PATH
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user