问题描述:
Uniapp项目在建项初期进行过一次鸿蒙的适配,运行无问题,开发了一段时间后再次在鸿蒙手机上运行,显示白屏
问题查找方法:
- 检查本地鸿蒙环境配置,升级hbuilderX和devStudio到最新版,未解决问题。
- 全局搜索#ifdef,添加对应的鸿蒙判断,未解决问题。
- 查看uni_modules下的所有插件,显示均支持鸿蒙。
- 查看dependencies下所有插件,显示sm-crypto不支持鸿蒙。
- 新建空项目,配置好鸿蒙环境后,将sm-crypto导入空项目并在主界面引用,可以正常使用,排除sm-crypto的问题。
- 将dependencies下所有插件挨个导入空项目并验证,均可以正常使用,排除插件问题。
- 将Uniapp项目的main.js和App.vue回退到空项目版本,未解决问题。
- 将Uniapp项目的pages.json回退到空项目版本,能正常运行。
- 挨个删除pages.json中的界面,获取到有问题的界面。
- 检查有问题界面的代码,发现是uni-modules引入的lime-upload有问题,删除后就不白屏了。
- 问题解决。
问题解决方法:
- 升级hbuilderX和devStudio到最新版(可能为非关键修改)
- 全局搜索#ifdef,添加对应的鸿蒙判断(关键修改)
- 全局搜索l-upload,注释或者改成uni原生的文件上传(关键修改)