HarmonyOS鸿蒙Next中哪里可以下载可用的curl库文件?

HarmonyOS鸿蒙Next中哪里可以下载可用的curl库文件? 在官方文档看到了FAQ中有关于 如何在Native侧集成三方库Curl,并进行HTTP数据请求 的文档,但是没有看到哪里可以下载curl的库文件,有人知道哪里可以下载么?

curl库的编译教程文档也行

谢谢

16 回复

尊敬的开发者您好,关于您需要的so库文件下载地址为:

https://gitcode.com/HarmonyOS_Samples/faqsnippets/tree/master/Ndk/Curl_Request/entry/libs/arm64-v8a

如果解决了您的问题,请采纳一下谢谢。

更多关于HarmonyOS鸿蒙Next中哪里可以下载可用的curl库文件?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17,

HarmonyOS Native 侧一般不是下载一个官方现成的 curl so 直接用,而是按目标 ABI 自己交叉编译 libcurl,再把头文件和 so 集成进 native 工程。

建议路线:

  1. 用 DevEco Studio/NDK 对应的 CMake 工具链编译 libcurl,目标 ABI 至少区分 arm64-v8a、x86_64。
  2. 同时决定 TLS 后端和依赖库,例如是否需要 OpenSSL、zlib、nghttp2;依赖越多,移植和打包越复杂。
  3. 在工程里把 include 目录加入 target_include_directories,把 so 放到对应 ABI 的 libs 或 CMake 产物路径,并 target_link_libraries 链接。
  4. 如果只是普通 HTTPS 请求,优先评估 Network Kit/系统网络能力,只有已有 C/C++ 网络库强依赖 curl 时再走 libcurl 移植。

目前鸿蒙官方没有直接提供“现成下载好的 curl so 库”。

官方文档里的意思是其实:

需要开发者自己交叉编译 libcurl

然后再集成到 HarmonyOS NEXT Native 工程里。


你可以参考这个官方 FAQ:

HarmonyOS Native侧集成Curl FAQ

里面主要讲的是:

  • 如何放置 so
  • 如何配置 CMake
  • 如何调用 curl

但没提供现成库下载。


目前比较推荐的方案:

方案1:自己编译 libcurl(推荐)

直接下载官方源码:

libcurl 官方下载页

或者:

libcurl Github

然后使用:

HarmonyOS NDK clang

交叉编译。


方案2:参考 OpenHarmony 三方移植项目

OpenHarmony 社区其实有人移植过:

curl
openssl
ffmpeg
sqlite

可以搜:

openharmony curl port

或者:

OpenHarmony三方库仓库


方案3:其实 HarmonyOS NEXT 一般不太需要 curl

因为官方已经提供:

@kit.NetworkKit

也就是:

http.createHttp()

原生就支持:

  • GET
  • POST
  • 上传下载
  • HTTP2
  • 流式请求

正常 ArkTS 开发够用了。


只有下面这些场景才真的需要 curl:

  • Native/C++ SDK
  • 移植 Linux 项目
  • FFmpeg 依赖
  • RTSP/FTP
  • 老 C++ 网络库
  • OpenSSL 深度集成

如果你想自己编译,核心大概是:

./configure \
--host=aarch64-linux-ohos \
CC=clang \
--with-openssl \
--disable-shared

然后:

make
make install

最终得到:

libcurl.a
libcurl.so

放到:

entry/libs/arm64-v8a/

即可。


一句话总结:

鸿蒙官方没提供现成 curl 库下载,通常需要自己交叉编译 libcurl;
ArkTS 开发一般直接用官方 http 模块即可,只有 Native/C++ 场景才建议接入 curl。

根据curl集成到应用hap 的说明,在执行

./build.sh curl

过程中报错了,有人遇到过么?

/Users/zhagnsan/Documents/Temp/tpc_c_cplusplus/community/CUnit/HPKBUILD: line 44: ./configure: No such file or directory
ERROR during : build --prefix=/Users/zhagnsan/Documents/Temp/tpc_c_cplusplus/lycium/usr/CUnit/armeabi-v7a/
/Users/zhagnsan/Documents/Temp/tpc_c_cplusplus/lycium/../community/CUnit build ERROR. errno: 1
/Users/zhagnsan/Documents/Temp/tpc_c_cplusplus/lycium/usr/CUnit/armeabi-v7a/

看下这个目录下有没有build.log,build.log下可能有错误的详细日志

我编译过去了,可以使用我编译好的,下载地址 http://101.34.84.57/curl.zip

尊敬的开发者,您好,
可以参考下墨@缘开发者的回复,如果问题仍未解决,为了进一步分析还请您提供下较完整的日志信息以便确认产生此问题的具体原因,感谢。

OpenHarmony三方库中心已有适配的库,看下是否可以直接使用

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

谢谢,我去看看

这是gitee的下载地址:curl下载地址

如果您对CURL的编译有困难,可以采用开源社区中已经做好的交叉编译环境。tpc_c_cplusplus-master

建议采用开源设置去中得到交叉编译环境,其中已经包含了很多常用三方库。

谢谢,tpc的那个工程,编译时候会报错,还在看怎么解决

鸿蒙Next的curl库文件可从OpenHarmony官方仓库或鸿蒙开发者平台下载SDK中的预编译文件。也可以通过ohpm包管理器安装libcurl依赖。

HarmonyOS Next 官方未提供预编译的 curl .so 文件,但你可以直接从 OpenHarmony 三方库 TPC 仓库获取已编译好的 curl 库:

下载地址
https://gitee.com/openharmony-tpc/curl

在该仓库的 libsoutput 目录下可找到针对 arm64-v8a 等架构的 libcurl.so 及其头文件。

自行编译(简要步骤)
如需自行编译,可将该仓库克隆后在 DevEco Studio 的 Native 工程中执行 ./build.sh,或参考 FAQ 文档中的编译命令,使用 OHOS NDK 交叉编译。关键命令示例:

./build.sh -p product_name=ohos-arm64

编译产物将生成在 out/ 目录下。

以上即可获得可直接在 HarmonyOS Next 中使用的 curl 库文件。

回到顶部