HarmonyOS 鸿蒙Next Go语言编译库移植方法

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Go语言编译库移植方法

Go语言编译库在Android、iOS应用上使用是非常常见的
特别是在To B类应用中,为实现各平台网络接口统一,很多App均使用Go网络库调用,用于保持各终端一致性
目前我们Android应用使用了Go网络库,请问如何移植到鸿蒙Os中使用?
 

5 回复

不知道二楼同学,是否有实际验证过Go库编译为so后的运行?
目前测试使用标准C库编译为so后,可以正常集成到鸿蒙应用中实现上层函数调用
但是若使用Go库编译为so库后,通过鸿蒙应用调用桥接函数时会崩溃

目前了解到Rust有提供了移植方案

希望鸿蒙官方对Go语言支持有个明确的对开发者的说明,若支持能提供下相关的移植说明文档;若不支持,是否有相关的支持计划?

c-shared编译 和 go源码添加tls-gd模式,可以正常跑

楼主您好,

鸿蒙原生暂不支持直接编译,但是C/C++本身支持调用Go,需要您那边自行构建C和Go的连接层使用。 通过Go编译出.so,然后再通过c进行调用,可以参考相关博客: https://blog.csdn.net/weixin_37871174/article/details/120272449 https://blog.csdn.net/analogous_love/article/details/107822584

您好 我正在使用您说的方式进行调用,但是我在调用中发生了崩溃的问题。 https://cdn.quthing.com/test/build-hm.sh 这是我的编译脚本,我不确定我哪里出现了问题。

针对HarmonyOS(鸿蒙)Next Go语言编译库移植方法的问题,以下提供专业解答:

目前,鸿蒙原生暂不支持直接编译Go语言库。但是,可以通过C/C++与Go的互操作性来实现间接支持。具体步骤如下:

  1. 将Go语言库编译为共享库(.so文件)。
  2. 在鸿蒙应用中,通过C/C++代码调用该共享库中的桥接函数。

需要注意的是,由于鸿蒙系统对安全性和稳定性的要求较高,因此在移植过程中需要确保Go语言库与鸿蒙系统的兼容性,并进行充分的测试。

此外,由于鸿蒙系统的不断更新和发展,其对Go语言的支持情况也可能会有所变化。建议开发者关注鸿蒙系统的官方文档和更新信息,以获取最新的支持和移植指南。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部