• 接口
    cef 导出了两套接口,一个c++ api 和 c api, c api 基于libcef.dll库导出的接口,可以直接使用c 调用,比较基础,多数功能需要封装。 c++ api 就是二次编译的 libcef_dll_wrapper, 是对libcef导出的c接口的封装和调用, 里边包含许多平台相关的封装和调用,包括gpu的调用优化,沙箱功能的优化使用,配置相当复杂,使用简单。

  • 版本
    133 以上版本capi 部分关于v8相关接口,结构命名发生了些许变化。 api 调用前需要调用cef_api_hash.h 提供的接口后续调用才能成功。

 const char *hash = cef_api_hash(CEF_API_VERSION, 0);
    LOG_DEBUG("hash: %s\n", hash);
    if (strcmp(hash, CEF_API_HASH_PLATFORM))

138 版本后增加了启动器, 使用沙箱功能需要将代码打包为动态库,使用cef提供的启动器来启动。这个版本想要导出接口给其他语言使用,有沙箱功能时比较困难。

  • gpu 问题
    不管是使用c++api还是capi 都需要给可执行程序添加清单文件,不然会导致gpu报错,渲染出现问题。

  • 仓颉封装
    通过导出和封装capi , 结合仓颉端结构映射可实现仓颉端cef调用。
    项目地址:https://gitcode.com/Cangjie-SIG/cj-cef

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐