HarmonyOS鸿蒙Next中flutter转鸿蒙,在本地测试时是正常,邀请测试时,app一启动会白屏。

HarmonyOS鸿蒙Next中flutter转鸿蒙,在本地测试时是正常,邀请测试时,app一启动会白屏。 【问题描述】:flutter转鸿蒙,在本地测试时是正常,邀请测试时,app一启动会白屏。

【问题现象】:flutter转鸿蒙,在本地测试时是正常,邀请测试时,app一启动会白屏。

由于邀请测试不好获取日志,以下是在云测试中获取的。

cke_1170.png

【版本信息】:不涉及

【复现代码】:不涉及

【尝试解决方案】:尝试不是混淆的问题。entry下的build-profile.json5文件的enable值是false

cke_5472.png


更多关于HarmonyOS鸿蒙Next中flutter转鸿蒙,在本地测试时是正常,邀请测试时,app一启动会白屏。的实战教程也可以访问 https://www.itying.com/category-92-b0.html

6 回复

开发者您好,请参考应用编译成功,安装后出现白屏的情况,排查打包的产物和运行模式不一致,例如flutter打har包是不是使用debug模式,而邀测包是使用release模式打包。如排查发现不一致,请更改为相同模式打包。如果排查的结果一致,请及时反馈。

更多关于HarmonyOS鸿蒙Next中flutter转鸿蒙,在本地测试时是正常,邀请测试时,app一启动会白屏。的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


shared_preferences 这个插件导致的,在flutter main()函数中异步加载的时候会出现问题

开发者您好,根据已有信息,是异步操作前flutter引擎尚未完成初始化,可以在SharedPreferences.getInstance() 之前,添加WidgetsFlutterBinding.ensureInitialized()。如果依然未解决,请提供可以复现问题的demo,方便问题定位分析。

  1. 邀请测试是需要生产证书的。

  2. 可以把白屏的手机连到电脑上面看日志。

本地测试正常而邀请测试白屏,通常是因签名、资源路径或网络权限差异导致。请确认邀请测试包签名与本地调试包一致;检查oh-package.json5中entries路径是否依赖绝对路径;排查网络权限:使用ohos.permission.INTERNET,若需访问本地资源需添加ohos.permission.GET_WIFI_INFO。另需验证UIAbility的onCreate内是否调用了loadContent并传入正确页面路径。

邀请测试白屏而本地正常,常见原因是 Release 模式与 Debug 模式下的行为差异,尤其是 Flutter 引擎初始化或资源加载阶段的异常。你已确认未开启混淆,可从以下三点排查:

  1. 检查构建配置:确认 entry 的 build-profile.json5release 字段下是否有不兼容项(如某些仅在 debug 下启用的功能),并确保 arkts.compileOptionsbuildOption 与 debug 对齐。同时检查 module.json5 是否缺少 ohos.permission.INTERNET,部分 Flutter 插件启动会联网。
  2. 签名与证书:邀请测试必须使用正式发布证书,调试证书在非调试设备上可能导致应用直接退出或白屏。请确认已配置正确的 release 签名。
  3. 资源与引擎加载:白屏可能因 Flutter 引擎 so 库加载失败。查看云测试日志,若有 dlopen failedFlutterMain 相关异常,可尝试在 entry/src/main 下确保 flutter_assets 目录完整,并在 build-profile.json5release 中增加 nativeLib.filter excludes 为空,避免 so 被剔除。

以上三点通常能覆盖白屏问题。

回到顶部