解决uniapp项目在纯血鸿蒙运行时白屏问题

0 阅读1分钟

问题描述:

Uniapp项目在建项初期进行过一次鸿蒙的适配,运行无问题,开发了一段时间后再次在鸿蒙手机上运行,显示白屏

问题查找方法:

  1. 检查本地鸿蒙环境配置,升级hbuilderX和devStudio到最新版,未解决问题。
  2. 全局搜索#ifdef,添加对应的鸿蒙判断,未解决问题。
  3. 查看uni_modules下的所有插件,显示均支持鸿蒙。
  4. 查看dependencies下所有插件,显示sm-crypto不支持鸿蒙。
  5. 新建空项目,配置好鸿蒙环境后,将sm-crypto导入空项目并在主界面引用,可以正常使用,排除sm-crypto的问题。
  6. 将dependencies下所有插件挨个导入空项目并验证,均可以正常使用,排除插件问题。
  7. 将Uniapp项目的main.js和App.vue回退到空项目版本,未解决问题。
  8. 将Uniapp项目的pages.json回退到空项目版本,能正常运行。
  9. 挨个删除pages.json中的界面,获取到有问题的界面。
  10. 检查有问题界面的代码,发现是uni-modules引入的lime-upload有问题,删除后就不白屏了。
  11. 问题解决。

问题解决方法:

  1. 升级hbuilderX和devStudio到最新版(可能为非关键修改)
  2. 全局搜索#ifdef,添加对应的鸿蒙判断(关键修改)
  3. 全局搜索l-upload,注释或者改成uni原生的文件上传(关键修改)