Nit*_*x88 24 android curl libcurl android-ndk
我想在我的Android应用程序中使用本机代码中的cURL库(使用NDK r5b,最新版本).在线研究之后,似乎在android中使用cURL的唯一方法是用curl构建整个android源码树,不知何故,这会为cURL生成必要的配置文件,以便在Android上运行.我没有任何从头开始构建android源代码的经验,并且想知道是否有一种方法可以在Android中使用cURL库而无需从源代码重建android.理想情况下,能够将cURL用作静态或共享库将是完美的.我试着按照这里提到的步骤......
http://curl.haxx.se/mail/lib-2009-12/0071.html
但最终得到文件curlrules.h中的错误 CURL_SIZEOF_LONG definition is missing!
我假设这些错误是由于没有我提到的配置文件,但上面链接中的步骤没有提到任何和报告的成功.有任何想法吗?
小智 18
我正在进行类似的任务!我现在正在开发一款需要cURL的应用程序,今晚在我的搜索中我发现了你的帖子,我认为是答案:
http://thesoftwarerogue.blogspot.com/2010/05/porting-of-libcurl-to-android-os-using.html
与您引用的链接不同,其他人声称也会按照说明获得成功后,会有一些后续评论.如果您设法在我之前编译它,并且不介意向我发送库,请在此处发布后续内容!(我对堆栈溢出很新,所以我不知道你是否可以下午.)希望这对我们两个人都有用!
p_l*_*p_l 14
似乎github上的项目为NDK构建自动化openssl和libcurl:
https://github.com/jahrome/curl-android
https://github.com/guardianproject/openssl-android
要在我自己的应用程序中使用它们,所以我可以使用单个库来处理iOS和Android的后端通信...
vgo*_*anz 13
在检查了所有可能的帖子之后,我终于在路径$ {android-ndk-r10}上使用Linux x64机器和Curl版本7.37.0进行了良好的编译.
也许这些步骤可以帮助您:
1º
${android-ndk-r10}/build/tools/make-standalone-toolchain.sh --platform=android-15 --arch=armv7-a --toolchain=arm-linux-androideabi-4.8 --install-dir=./tmp/android-15
Run Code Online (Sandbox Code Playgroud)
2º
export CC="${android-ndk-r10}/external/curl/tmp/android-15/bin/arm-linux-androideabi-gcc"
Run Code Online (Sandbox Code Playgroud)
3º
./configure --host=arm-linux --enable-cross-compile --enable-threaded-resolver --disable-shared --disable-ftp --disable-file --disable-ldap --disable-ldaps --disable-rtsp --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smtp --disable-gopher --disable-manual --enable-proxy --enable-ipv6 --enable-cookies --enable-symbol-hiding --disable-versioned-symbols --disable-soname-bump --disable-sspi --disable-ntlm-wb --prefix=${android-ndk-r10}/external/curl/build/curl-7.37.0
Run Code Online (Sandbox Code Playgroud)
4º
make -j4
Run Code Online (Sandbox Code Playgroud)
5?
make install
Run Code Online (Sandbox Code Playgroud)
您将获得$ {android-ndk-r10} /external/curl/build/curl-7.37.0的构建版本.
如果你使用64位机器进行编译,可能有2个定义是坏的,你会收到这个错误:
error: size of array '__curl_rule_01__' is negative
Run Code Online (Sandbox Code Playgroud)
我解决了重新定义文件$ {CurlbuildAndroid} /include/curl/curlbuild.h中的变量的问题(执行此操作很危险,但它有效!):
CURL_SIZEOF_LONG 4
CURL_TYPEOF_CURL_OFF_T 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83195 次 |
| 最近记录: |