OpenHarmony 5.1 web白屏问题分析
·
环境
系统基线:OpenHarmony 5.1.0 release
问题描述
开机后打开web相关应用,web页面白屏,无内容显示。
问题分析
检查hilog日志,检查webview相关的error日志,发现web组件依赖的libarkweb_engine.so加载失败

根因分析
1、根据日志定位到代码处:

2、发现错误日志并没有体现加载so失败原因。通过dlopen加载so失败时,查看原因可通过加上:
const char* error = dlerror();
然后将error信息打印出来。
通过添加错误信息,我们可发现libarkweb_engine.so依赖的libvulkan.so没有找到:

在out/产品名/目录下搜索libvulkan.so,发现并没有编译中间产物和生成的so。
3、查找OH基线生成libvulkan.so的组件,可通过在BUILD.gn文件中搜索关键字vulkan,根据经验可优先搜索下third_party目录。

可以看到vulkan_loader动态库组件output_name即为vulkan,后缀output_extension为so,还有一个vulkan_headers的依赖项。
4、将第3点中的部件添加到产品配置项参与编译。

将third_party子系统的vulkan-loader和vulkan_headers两个部件加入到vendor/产品目录下的config.json产品配置中。
5、执行产品编译后,确认编译产物:

可以看到libvulkan.so生成成功。
更多推荐

所有评论(0)