已有Flutter项目在HarmonyOS鸿蒙Next化之后运行在手机上白屏

已有Flutter项目在HarmonyOS鸿蒙Next化之后运行在手机上白屏

1.开发工具信息

cke_404.png

2.Flutter环境

cke_3774.png

3.真机信息

  • HarmonyOS NEXT 5.0.0.150 SP8
  • HarmonyOS 版本:5.0.0
  • OpenHarmony版本 5.0.1

4.运行截图

下面是两张图第一张是没加闪屏的,第二张是加了闪屏代码的 cke_25077.png cke_25890.jpeg

5.闪屏代码截图

cke_50399.png

6.Flutter鸿蒙化参考文档地址

Huawei Developer Alliance - Using Flutter SDK 3.22.0

使用flutter create --platforms ohos . 命令创建的ohos目录,其他代码都是自动生成的,只在ohos目录下加过闪屏,别的代码未做任何改动

cke_62497.png


更多关于已有Flutter项目在HarmonyOS鸿蒙Next化之后运行在手机上白屏的实战教程也可以访问 https://www.itying.com/category-92-b0.html

11 回复

您好,可以采取以下方式解决:

1 、如何引入HarmonyOS的Flutter三方库

以上述webview_flutter三方库为例,说明HarmonyOS的Flutter引入三方库的一般方法。注意需提前配置好HarmonyOS的Flutter环境。

(1)查看该插件官方代码仓的pubsepc.yaml文件,查找platforms字段,存在说明该插件依赖平台能力,需要做HarmonyOS适配;若无该字段,说明插件是纯Dart编写,可以直接采用中心仓引用方式,直接使用。

flutter:
  plugin:
    platforms:
      android:
        default_package: webview_flutter_android
      ios:
        default_package: webview_flutter_wkwebview
      macos:
        default_package: webview_flutter_wkwebview

(2)查询三方库的适配计划,得知webview_flutter已经适配完成,根据技术支持人员提供的仓库地址进行依赖配置。

(3) 配置pubsepc.yaml文件(webview_flutter的gitee地址)。

dependencies:
  webview_flutter:
    git:
      url: "https://gitcode.com/openharmony-sig/flutter_packages.git"
      path: "packages/webview_flutter/webview_flutter"  // 插件在git仓中的相对路径,_git仓库_里存放了多个插件,需要配置正确插件的具体路径,配置到path字段。

(4)执行flutter pub get下载;

(5)对于自研三方库,可以参考开发ohos平台的Flutter三方库,自行适配后引用。

更多关于已有Flutter项目在HarmonyOS鸿蒙Next化之后运行在手机上白屏的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


这个库华为的flutter分支显示已经适配,但是找不到这个库

cke_232.png

cke_559.png

全局断点,发现是shared_preferences三方库这里抛异常了,正在排查中,有遇到的可以告诉我一下,谢谢

shared_preferences 这个三方库你是怎么依赖的?是鸿蒙版本的吗?

这个已经解决了,

楼主,有报错日志吗?本地无法复现白屏问题,方便的话可以提供下demo

您好,感谢回复,全局断点,发现是`shared_preferences`三方库这里抛异常了。

期待HarmonyOS能在未来带来更多创新的技术和理念。

替换了相关的三方库,改成鸿蒙化之后的https://gitcode.com/openharmony-sig/flutter_packages.git。目前已经正常加载项目。

Could not find a file named “packages/connectivity_plus/connectivity_plus/pubspec.yaml” in https://gitcode.com/openharmony-sig/flutter_packages.git 74bf3d4bbb974316cf792b7d8b29b0d25a046311. 这个库华为的flutter分支显示已经适配,但是找不到这个库。

在Flutter项目迁移到HarmonyOS鸿蒙Next后出现白屏问题,可能原因包括:

  1. 兼容性问题,确保Flutter SDK和鸿蒙OS版本兼容;

  2. 资源加载失败,检查图片、字体等资源是否正确加载;

  3. 渲染问题,确认Flutter渲染引擎与鸿蒙OS的图形系统兼容;

  4. 权限问题,确保应用拥有必要的运行权限。

建议逐步排查,更新依赖库,并参考鸿蒙OS官方文档进行适配。

回到顶部