# flutter_readhub **Repository Path**: AriesHoo/flutter_readhub ## Basic Information - **Project Name**: flutter_readhub - **Description**: Flutter版本Readhub非官方客户端 - **Primary Language**: Dart - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2020-11-17 - **Last Updated**: 2025-11-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # flutter_readhub [![](https://img.shields.io/badge/download-apk-blue.svg)](https://gitee.com/AriesHoo/flutter_readhub/raw/master/sample/sample.apk) [![](https://img.shields.io/badge/download-MacOS.app-green.svg)](https://gitee.com/AriesHoo/flutter_readhub/raw/master/sample/Freadhub-聚合资讯.app.zip) [![GitHub license](https://img.shields.io/github/license/AriesHoo/flutter_readhub.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) [![](https://img.shields.io/badge/Gitee-Gitee仓库-green.svg)](https://gitee.com/AriesHoo/flutter_readhub) ~~[相关文章一:用Flutter给Readhub写一个App](https://www.jianshu.com/p/5e1db7423dac)~~ [相关文章二:Flutter版本Readhub开源](https://www.jianshu.com/p/f4161c721ff7) [相关文章三:Flutter iOS真机调试及打包过程记录](https://www.jianshu.com/p/58a6e272a038) [相关文章四:Flutter iOS打包过程及构建上线审核通过流程总结](https://www.jianshu.com/p/0bba10136bf5) [相关文章五:Freadhub终于升级Flutter2.0了](https://juejin.cn/post/6963433655838441485) [相关文章六:Freadhub Mac版它来了](https://juejin.cn/post/6971301773604552735) [相关文章七:Freadhub 适配原生鸿蒙(Harmony OS NEXT)](https://juejin.cn/spost/7483477450535239707) 该项目为Flutter实战项目,为[Readhub](https://readhub.me/)非官方客户端。 数据来源于`Readhub`官方API接口。**版权及最终解释权归Readhub官方所有,如有侵权请邮箱联系删除!** 仅供学习使用,禁止商用 ## 前言 > `Freadhub`是由`AriesHoo`开发维护的一个`Flutter`开源项目--`readhub`的非官方产品。 之前`Freadhub` 手机端已有`Androd`、`iOS`版本,随着 `原生鸿蒙(Harmony OS NEXT)` 的发布,加上社区 SDK 鸿蒙化的推进。笔者感觉是时候适配一下了. > Gitee开源: 先来个整体效果展示 | 亮色模式 | 深色模式 | |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/ee06583d07a047018079c34916c561a7~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=ts%2FlQav9bbXDWD3WA92bS35MU%2BQ%3D) | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/fc904244514442eeaee4690c5679966a~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=qVkmKxt1al05ULwuEf31f4ww5qE%3D) | | 今日古诗 | 分享面板 | | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/a5fa3593ba5743d9b53e5ecd2b9ea153~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=6sGYXZUc2TBq7m%2B8rhugQU4voSA%3D) | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/b91224d2195249f188f28cd34e49f97b~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=bPRXxtwu3g7aTcN%2BQ%2FZj6Effnls%3D) | | 图片分享 | 文字分享 | | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/83883d97f3ca49258e30cc6f1335ae98~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=gRJupoXl%2FrkT9aZOwut7sy4XzWs%3D) | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/c3979e15b9544497acaf28b0bc5d4ddb~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=dtF%2FfIh%2BLjwDqCDa9coia7Tuz0k%3D) | | 内置浏览 | 系统浏览 | | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/a40a97622cd044acb3dd8c8cc36fa59b~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=Qfms%2BXSn2jfBF%2FD7SoGRwDuq8%2Bo%3D) | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/8eac45fd82ce4fc4bf25fbc6386bc519~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=5%2BiYaHJ7dxiivdqku5wFoHWi2IU%3D) | | 更多内容 | 主题选择 | | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/a3a11a1f40b74484901bfaf6db62e7ec~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=upxteQpb4EcKHr14uXxudC%2BElsY%3D) | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/532133641f5c4602950d0c9f93d6d55d~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=N%2BDnNh8VQX0z50p9Wwy5cYa6SoI%3D) | ## 开始适配 ### 前置条件 首先因为 `Harmony版Flutter SDK` 只支持`Mac arm`架构,故需要准备一个 `Mac M系列` 的 `Mac` 电脑. ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/da65c5cfd74e46baad077541a615cbd0~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=vl%2BPk50CDWM%2BlhWWPJwGq6%2BXQtg%3D) [社区文档](https://gitee.com/openharmony-sig/flutter_samples/blob/master/ohos/docs/03_environment/%E9%B8%BF%E8%92%99%E7%89%88Flutter%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E6%8C%87%E5%AF%BC.md#52-windows%E6%88%96mac-x86%E6%9E%B6%E6%9E%84%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C%E6%A8%A1%E6%8B%9F%E5%99%A8) 很可惜笔者的电脑是不支持的...😂 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/e357c4547a694b62837fa69693bcbd05~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=Ilo5bJ8Pyh7lJqel%2Bg2e%2FQi7kQ4%3D) > 话说公司应该给升个级了. 那么就走另一条路了,`买个支持原生鸿蒙的手机`. | | | | |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/dd83155118cd47a1a79e9a2fb538bc41~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=hh1Pjs0YZuCzzeGVR9C8afowbQg%3D) | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/31eb3e2fb7674f1ea211521888a29992~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=BhTuQLkUfYe8oV5CnPzJkLarojI%3D) | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/09bac710c60640bdb1d2e4af3b80095e~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=qobvNeSqZ1nzRr51sRr9yO6gF40%3D) | 根据自己的情况搞一个 [Harmony NEXT 支持设备查询](https://consumer.huawei.com/cn/support/harmonyos/models-next/) ### Flutter SDK下载 目前社区版 `鸿蒙Flutter SDK` 有俩版本 [3.7.12](https://gitee.com/openharmony-sig/flutter_flutter) 和 [3.22.0](https://gitee.com/harmonycommando_flutter/flutter), `Freadhub`选择`3.7.12`, 可以直接下载给自己的Flutter项目加载使用 > git clone hm3.7.12 也可使用`fvm` 进行多版本SDK管理 通过 `fvm use hm3.7.12` 切换当前系统使用SDK版本 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/518c2b61cc134a74b32a5142c6e41b7d~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=Mzpj8XAFWLpNIH5wnFpMjrCgDBI%3D) ### 增加ohos支持 `flutter create --platforms=ohos .` 执行该命令后会在原项目增加 `ohos` 文件夹 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/77da7a8d9435479ca42f57276aa762ed~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=n%2BCgJTmkE90UoGqTcc54EDBbJYM%3D) ### ohos项目配置 #### 下载并配置 DevEco Studio 在华为官网下载一个 [DevEco Studio](https://developer.huawei.com/consumer/cn/download/) ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/a2eb81acb1a44e46ac4c858cf1d55881~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=bFLbZMM6clQZ1ZRZujlOghQTHQk%3D) 该步骤非本文重点,具体 [安装配置流程参考文章](https://juejin.cn/post/7427455855971008548) #### DevEco Studio 配置 Freadhub ohos项目 第一步:导入 `flutter_readhub` 项目的 `ohos` 文件夹,该文件夹是一个完整的 `Harmony NEXT`项目 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/ba2bfc0863c44fc392887a9c41a1da26~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=GykqyU6BabXD5VGd8mWAUbMKN58%3D) 如图可见,该项目是完全可直接运行的,类似用`Android Studio`直接打开`android`文件夹,也是可以直接运行起来的一样 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/b7368137646a419da5f413a5b7183965~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=XFg6xMH8AexJXrSdknVrMvyv8rc%3D) 第二步:配置项目自动签名 > 因为项目是需要直接运行到真机的,故需要自动签名 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/7ad6144a43114614929703c90340ccdc~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=LGKXBcaKd8FlHYbDHYALzaxwdEE%3D) 需要登录自己的华为开发者账号 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/aa60b540e7ca44b9a48d648f98ca0639~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=U1BV57vheOYzufg%2Fwb8PwjfvVeY%3D) 打开设备开发者模式并连接电脑 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/756f2f7ad1ce4e7ea92cb78adf3cc38e~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=jvXhGs5ioz24WtkuQ6i2q8Xgz%2FM%3D) 如果电脑未连接设备会是这个样子的 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/e5b4ed620fad48ab9b5552ac76bf87a1~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=eR7mhyLIy0USV54Tuemc%2FXZhjlE%3D) [华为官方文档](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V14/ide-signing-V14) [Flutter社区文档](https://gitee.com/openharmony-sig/flutter_samples/blob/master/ohos/docs/03_environment/%E9%B8%BF%E8%92%99%E7%89%88Flutter%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E6%8C%87%E5%AF%BC.md#3openharmony%E7%9C%9F%E6%9C%BA%E8%BF%90%E8%A1%8Cflutter%E9%A1%B9%E7%9B%AE) 然后在未配置自动签名项目运行会出现一下问题[华为官方解疑](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V14/ide-hvigor-faqs-V14#section165158289282) ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/cdd65ca47eb6414dba155db28aee7d15~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=BvliLrG3ZIcVNNLKGepG5cFp3C8%3D) 第三步:配置应用`bundleName` > 应用包名,对应 Android 项目的`packageName`或 `applicationId` 及 iOS 项目的 `bundleId` ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/18908be1f51848b7a160d8550f471791~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=0ypthqMn8MgjXVX6JtF6Vyt1ODE%3D) > 因为历史原因建议与`Android`项目作区分 第四步:配置应用的图标及应用名称 配置`app.json5` ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/164adb79f55c4c578499b1ccae86a9ed~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=sNbF6nNGJ9CWecCtlsCGLG%2BBnEQ%3D) 移除 `module.json5` 中默认添加的 `icon` 和`label` ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/e8404d64cfa84e66bd0eab7d71121d4c~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=oQwjdnKgT7gBsYbgFc2U3KgRHYc%3D) ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/d2e5d09aecb54b8eab2010bfe9f4c337~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=SXxkP1qyHyvD6wMxMVkrQ%2BmiKSU%3D) 至于原因参考华为官网介绍 > v5前 [华为官方文档](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/application-component-configuration-stage-0000001478340869-V2) ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/b0c76c4915de44cd8210dd5549994874~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=mHIhQPNk%2FPUWCADu2IiCZS0dn9o%3D) > v5后 [华为官方文档](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-component-configuration-stage-V5) ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/943c23a3ed7840c3a9f3603dd4fb03ab~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=IrWyChMfO%2BUJ8kxmHmLefvypDzM%3D) 第五步:配置应用的闪屏页 如下图所示配置 `module.json5` 中 `startWindowIcon` ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/a867fb235fca4c33ab7985be3e090790~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=cOGJ9PGvUawoZhj1Spa3Sf2hsSs%3D) 增加闪屏背景`dark`模式适配,`copy`一份 `base` 文件夹改名为`dark` 并且仅保留 `element`文件夹及下级 `color.json`文件 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/71554b11a37f487da38b19d70d1bf64d~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=yuaR9auc10IWE4pvylwYcI%2BSTMY%3D) 修改 `dark` 文件夹下 `color.json` 文件里的 `start_window_background` 的 `value` 为一个相对较暗的值 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/bf394aa7dba943e0b601ceb7ae9154cf~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=ybc96fZwgAiFOQutQpXkDHkHZ08%3D) 至此 `DevEco Studio` 配置 `Freadhub` `ohos`项目完成. ### `flutter_readhub`项目适配 #### 插件适配 `ohos` 端 > 首先 通过 `Android Studio` 打开 `flutter_readhub` 项目,其中 `Flutter Plugins` 需要自行判断是否需要在 `ohos` 端进行适配. ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/f267aa563bb64a748c761db0f0e7e9a7~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=w65ys7%2BO2wxvmGf7GLf7Q69XgFs%3D) 可以在[Flutter社区已兼容openharmony插件 ](https://gitee.com/openharmony-sig/flutter_packages#openharmony%E5%B9%B3%E5%8F%B0%E5%B7%B2%E5%85%BC%E5%AE%B9%E5%BA%93) 进行查阅 本项目需要兼容的插件如下 # 设备信息 device_info_plus: git: url: https://gitee.com/openharmony-sig/flutter_plus_plugins.git path: packages/device_info_plus/device_info_plus # 应用包信息 package_info_plus: git: url: https://gitee.com/openharmony-sig/flutter_plus_plugins.git path: packages/package_info_plus/package_info_plus # WebView-应用内查看资讯详情 webview_flutter: git: url: https://gitee.com/openharmony-sig/flutter_packages.git path: packages/webview_flutter/webview_flutter ref: master #跳转系统浏览器/打电话等 url_launcher: git: url: https://gitee.com/openharmony-sig/flutter_packages.git path: packages/url_launcher/url_launcher #动态权限申请-8.0.0版本需在Profile申请需要启用的权限 permission_handler: git: url: https://gitee.com/openharmony-sig/flutter_permission_handler.git path: permission_handler #分享文字及文件-注意保存文件位置 share: git: url: https://gitee.com/AriesHoo/plugins.git path: packages/share ref: master # plus版本 share_plus: git: url: https://gitee.com/openharmony-sig/flutter_plus_plugins.git path: packages/share_plus/share_plus 其中项目直接引入共计7个需要适配`ohos`的插件. > 又因为 `flustars` 插件内部引入了 `path_provider` 和 `shared_preferences` 插件故需要通过 `dependency_overrides` 方式进行覆盖. ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/0fc3312defd64189bf2d0d4a962d2af7~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=ai3CIXe0wp6hkaDccfDJu%2BP531o%3D) > 最后通过命令 `flutter pub get` 一下,即可查看到对应 `ohos` 实现的 `Flutter Plugins` ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/b7c5e4cebfdc4a12b270c3acf8589013~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=Qq1%2FSXaoQXqRqFpNgdl6q7WCHLQ%3D) > 至此该项目是可以直接运行到 `Harmony NEXT` 设备上的.最后还需针对`ohos`的小优化--涉及修改 `flutter_readhub` 代码层面的. ### 针对 `ohos` 的 `flutter_readhub` 代码层面优化 #### 分享功能优化 因为之前在 `Android` 平台增加固定分享某些社交平台如`QQ`、`微信`、`企业微信`、`钉钉`等,故之前魔改了 `Flutter` 官方的`share` 插件,但是支持 `ohos` 的分享插件是 `share_plus` 故需要做判断. 首先增加是否是 `ohos` 的判断方法 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/b6742488e16d4020aaa591219884f4c8~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=aQCRBeFVE489zIEAt9B6Sf5neeg%3D) 其次在`share_util`中的`shareText`及 `shareFiles` 方法修改 ![shareText](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/02611e1d43614e68a2a25e3888032daf~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=RqcVOXg%2FRMwhZEtFrcV05a2stNs%3D) ![shareFiles](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/6e660e2417cb4498985ccda5fd4c7c9c~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=HYhsqcMi3oMJqLvfngh6NdFXR6E%3D) 然后分享图片截取图片到手机功能,经测试发现在`ohos` 上不需要申请权限即可保存到手机然后进行图片分享.但是没有找到图片在图库的具体位置😓.( 不知道是否是存在应用独有的存储空间?),故在权限帮助类增加如下判断 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/f8350fca652b459196cd84332cd04f22~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=ShnRhmHfNGmhzTEzjYG%2BzEOAqDY%3D) #### 下拉刷新及底部加载更多 因之前做 `Android` 是 `MaterialClassicHeader` 刷新头,其他都是 `ClassicHeader`,这次升级后,`Androud` 的刷新头是 `MaterialClassicHeader` ,`ohos` 刷新头脚都是 `ArkUI` 自带的 `LoadingProgress`效果. 剩余平台的头脚都是 `CupertinoActivityIndicator` 这里通过加载 `GIF`图片效果增加 `ohos` 的效果,首先从华为官网获取到对应gif资源并放入`flutter_readhub` 项目 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/778d565299b64664ad68036a723dfd48~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=M3dRd3Uk1eEPVa70GfQFRCLBZfU%3D) 在`flutter_readhub`项目中引入插件`flutter_svg` ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/1f6981e309ca403fbb6c0a84a40840c0~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=lbfvt8dCXI4qENQM6NwWDigIvuM%3D) 然后组装一个组件加载即可 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/bb6654b5b188459cb1ce9809ff73eb92~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=b%2FV3E5%2F0Bmrndrl1Lvp%2F%2BCLrLTY%3D) 最后刷新头脚相关平台判断即可 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/11b4da0987544c039a8a845346374783~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=K7a34ScyZ186MV3inBtubahWYlA%3D) ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/756228d13feb4290b78eb295e99bdcda~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=rOgNQzNtTRSuGnh2ECAjBBHeYXU%3D) 最终平台效果一览 | Android | iOS | OHOS | |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ![Android.gif](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/88c83d11d29b4ab9a39fc7f0551b9c26~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=7J93qjga1%2F7ptuLu2pn%2FHIAAS3A%3D) | ![iOS头.gif](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/75988b9fae254d179f6715458d1d8f29~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=%2Bfzm76REPc0S5ICQpSmJ1Z3bZl4%3D) | ![ohos.gif](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/18a44d3d6ced41d0924eb7bb5b775c8e~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=CMypofPzaI4JMJBgQjtOFuHmKyM%3D) | #### 整体圆角弧度增大 最近俩月使用原生鸿蒙手机,感觉系统的圆角做得比较大,感觉挺不错,故将整个`flutter_readhub` 项目涉及到圆角地方进行了增大. | 列表旧版 | 列表新版 | |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ![155313318232c62759c0f8812a78c6a1\_720.jpg](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/88dad1400a3744c59c2ff453dafb6d24~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=gAc7kz0n2O%2FkBVUFU7h7maSiVxU%3D) | ![92c441af62a05a65b977aaca2363a248\_720.jpg](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/fd125771a37541a0a06437d497e33957~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=r8d%2BX%2FjOD7fBdKGu9Zifl6OL4PY%3D) | | 分享弹框旧版 | 分享弹框新版 | | ![14121c224f521ec07141c95d2a057fc4\_720.jpg](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/b43b6f16d5584b1b90672e301f62ce6d~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=O6CLC9Me0Tyq9wvi48uCp%2B6Rf8E%3D) | ![312b5799c9f4e76c02bede56c3b79a4b\_720.jpg](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/0dc87f6ea58144d6bf3c619c2d89b89a~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=52hSYq62hhfi4zKMjBwFbKGEUjU%3D) | | 更多弹框旧版 | 更多弹框新版 | | ![8b03ef8614ea4a3d326e7db605a8e143.jpg](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/df7079fc6ea74cdfa3fab4b18cf79240~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=jZDc2o1gnrg48UXom%2F2dPcQhgvc%3D) | ![da2d0b105d5fbbb36871124dfcc388f3\_720.jpg](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/a87df654df944617a4f79e8ed1d2b747~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=tCkknV%2BQO2UujST1x1Vu1fe6bEs%3D) | #### 其他小优化 1. 列表卡片增加已读灰度标识 2. 顶部诗歌部分增加点击切换功能 3. 开源移除GitHub地址(主要是太久没有上去加上手机格式化问题二次校验不通过登不上去了😂) 4. 分享弹框icon增加为5列显得更加合适不过大 5. 部分图标变更为`outlined`模式的 6. 列表回到顶部功能icon变更并且移除文字显示 7. 接口数据源变更 ### 手机上运行项目 在完成 `ohos` 端插件适配后即可在手机上运行查看效果 > 首先 打开`开发者选项`并`开启USB调试`, 注意`开发者选项`需要重启手机.连续点击三次`关于本机`中`软件版本` > 后根据提示操作并重启手机.然后`设置>系统>开发者选项` 打开`USB调试`即可. | 打开开发者选项 | 打开USB调试 | |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/f0a450fe38254f10a4ab11c23411a17f~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=1l26YQkHX4wO1%2F3gwkivd4W70eI%3D) | ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/f5e2bbf7b2804b909ccc43f8fd3a43e9~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=RldItUKfrQ7ycHIS0TZwI1m5fuo%3D) | > 其次数据线连接电脑与手机选择手机点击运行即可 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/508a3d1abb344f59868e02d2fb649287~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=znzcJoM4IR3jph1QC1Clh%2BL6F0M%3D) 成功运行,控制台出现`flutter_readhub`日志 ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/cbbf948c40b54be1b22fab024c814a4e~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=QdHFbV2I22euwITT%2FmmJnuJJOhI%3D) 其他操作如 `command+s` 会 `hot reload` 和运行其它端一样一样的. 如果要平常使用则通过`flutter run --release` 这样闪屏页和主程序之间不会有近1s的白屏 | debug模式 | release模式 | |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ![debug.gif](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/d4309fe5ab534b20a4c7c5e83168db53~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=gJWl7xu8tp47U3%2FH33UC0KeAtg8%3D) | ![release.gif](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/7a224553d72d4d0f80a89e6ad3af27f2~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=nLCX8oZNdBjqkAQ5AW%2B1FthPcaM%3D) | ## 其它杂谈 1、部分网页不知道是自身适配原因还是`ohos`系统本身`webview`问题.未加载成`手机模式`而是`PC模式`,同一网页在 `Android` 环境下是正常的`手机模式` | HarmonyNEXT | Android | |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ![ohos.gif](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/77c9db4d8d274a8d8627deec4d598352~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=AMwYY5A%2FoIXhXu0jY0pt6OU5Dl0%3D) | ![Android.gif](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/9df203d74f7f4c6f93805cd0e8c7c12e~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=2aIxwPBp3RhJkrnjbOneV%2F0eYwY%3D) | 2、因 `Harmony NEXT` 软件生态还在搭建部分应用未迁移的可以通过`卓易通`下载`Android` 版进行过度,故可以在 `Harmony NEXT`手机上同时安装 `ohos版` 和 `Android版` ![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/ea8446658a7145c7bc4a489b11b7b5dc~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgQXJpZXNIb28=:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiOTIzMjQ1NDk1OTkwMTA5In0%3D&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1743056149&x-orig-sign=EpmCH405PEb8mUA8izph8EwvgoY%3D) > 如图所示左侧列表卡片占据到底部小横条的是 `ohos版` 右侧 最底部有白色预留小横条的是 `Android版` ## 总结 1. 社区 `Flutter SDK` 提供了开发`Harmony NEXT` 的一种可能 2. 支持的版本只有俩 `3.7.12` 及 `3.22.0` 目前 Flutter 官方最新版 `3.29.2` 3. 三方SDK`ohos`支持度还不够 4. UI 部分要是有一套`ohos`的就更好了 5. 到2025年虽然网上有[ `Flutter团队要解散了`](https://juejin.cn/post/7362901975421337651?searchId=202503201036274BA51447DB61E1FD796F),[ `Flutter社区分叉Flock`](https://juejin.cn/post/7431032490284236839?searchId=20250320103847FDC1DE0D9B1B76AC523D) 等传闻,但是笔者私以为 Flutter仍是跨平台的最优解,没有之一 > 该项目为笔者学习`Flutter`练手开发的,年前心血来潮适配了一下`ohos` ,权当抛砖引玉了,万望各位不吝赐教 * `@AriesHoo 2025.03.20 未允禁转` * `掘金主页`:[AriesHoo](https://juejin.cn/user/923245495990109) * `Gitee`:[AriesHoo](https://gitee.com/AriesHoo) * `Email`: ## License ``` Copyright 2019-2025 Aries Hoo Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ```