亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

在android中增加curl的解決方法

2020-04-11 12:10:33
字體:
來源:轉載
供稿:網友

curl是一個著名的開源文件傳輸協議實現軟件,其中包括了HTTP、HTTPS、FTP等多種常用不常用協議的實現。在curl最新版本的官方源代碼中其實已經包括了android的編譯文件(Android.mk),不過要想編譯通過還需要做一些工作。

我所使用的curl版本是7.20.0,android源代碼版本是eclair 2.1。
首先將curl解壓到external目錄下,將目錄名稱改為curl(不改也可以,不過android的習慣是不帶版本號,入鄉隨俗吧)。

(1) 首先要創建一個頭文件curl_config.h。創建方法在curl/Android.mk文件頭部的注釋里有說明。根據這個說明運行configure。我所使用的命令行如下(我是編譯成x86版本的,不過我們的目的只是要生成curl_config.h文件,所以x86還是arm其實是一樣的):

復制代碼 代碼如下:

ANDROID_ROOT=`realpath ../..` && PATH="$ANDROID_ROOT/prebuilt/linux-x86/toolchain/i686-unknown-linux-gnu-4.2.1/bin:$PATH" ./configure --host=x86-linux CC=i686-unknown-linux-gnu-gcc CPPFLAGS="-I $ANDROID_ROOT/external/curl/include/ -I $ANDROID_ROOT/external/curl -I $ANDROID_ROOT/out/target/product/eeepc/obj/STATIC_LIBRARIES/libcurl_intermediates -I $ANDROID_ROOT/system/core/include -I $ANDROID_ROOT/hardware/libhardware/include -I $ANDROID_ROOT/hardware/libhardware_legacy/include -I $ANDROID_ROOT/hardware/ril/include -I $ANDROID_ROOT/dalvik/libnativehelper/include -I $ANDROID_ROOT/frameworks/base/include -I $ANDROID_ROOT/frameworks/base/opengl/include -I $ANDROID_ROOT/external/skia/include -I $ANDROID_ROOT/out/target/product/eeepc/obj/include -I $ANDROID_ROOT/bionic/libc/arch-x86/include -I $ANDROID_ROOT/bionic/libc/include -I $ANDROID_ROOT/bionic/libstdc++/include -I $ANDROID_ROOT/bionic/libc/kernel/common -I $ANDROID_ROOT/bionic/libc/kernel/arch-x86 -I $ANDROID_ROOT/bionic/libm/include -I $ANDROID_ROOT/bionic/libm/include/i387 -I $ANDROID_ROOT/bionic/libthread_db/include -I $ANDROID_ROOT/external/openssl/include" CFLAGS="-fno-exceptions -Wno-multichar -march=i686 -m32 -fPIC -include $ANDROID_ROOT/system/core/include/arch/target_linux-x86/AndroidConfig.h -m32 -DANDROID -fmessage-length=0 -fno-strict-aliasing -Wno-unused -Winit-self -Wpointer-arith -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wpointer-arith -Wwrite-strings -Wunused -Winline -Wnested-externs -Wmissing-declarations -Wmissing-prototypes -Wno-long-long -Wfloat-equal -Wno-multichar -Wsign-compare -Wno-format-nonliteral -Wendif-labels -Wstrict-prototypes -Wdeclaration-after-statement -Wno-system-headers" LIB="$ANDROID_ROOT/prebuilt/linux-x86/toolchain/i686-unknown-linux-gnu-4.2.1/lib/gcc/i686-unknown-linux-gnu/4.2.1/libgcc.a $ANDROID_ROOT/prebuilt/linux-x86/toolchain/i686-unknown-linux-gnu-4.2.1/lib/gcc/i686-unknown-linux-gnu/4.2.1/crtbegin.o $ANDROID_ROOT/prebuilt/linux-x86/toolchain/i686-unknown-linux-gnu-4.2.1/lib/gcc/i686-unknown-linux-gnu/4.2.1/crtend.o"

(2) configure找不到openssl,所以所生成的配置文件是不使用openssl的。要想使用ssl,需要手動修改 lib/curl_config.h和src/curl_config.h,打開宏定義HAVE_LIBSSL、 HAVE_OPENSSL_CRYPTO_H、HAVE_OPENSSL_ERR_H、HAVE_OPENSSL_PEM_H、 HAVE_OPENSSL_PKCS12_H、HAVE_OPENSSL_RSA_H、HAVE_OPENSSL_SSL_H、 HAVE_OPENSSL_X509_H、USE_OPENSSL、USE_SSLEAY(但是注意android沒有編譯openssl中的 engine,因此不要打開宏定義HAVE_OPENSSL_ENGINE_H),同時注釋掉宏定義HAVE_MALLOC_H和HAVE_IOCTL,這兩個宏定義在Android_config.h中有定義,不注釋的話在編譯過程中會有很多警告(但是能正確編譯通過)

(3)修改curl/Android.mk文件,在LOCAL_C_INCLUDES變量的值中增加external/openssl/include,在 LOCAL_SYSTEM_SHARED_LIBRARIES變量的值中增加 libssl libz libcrypto。

好了現在可以編譯了:
make curl ONE_SHOT_MAKEFILE=external/curl/Android.mk TARGET_PRODUCT=<...>
 
不過上述Android.mk文件會將libcurl編譯為靜態庫,要想編譯為動態庫還需要修改一下Android.mk文件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品激情在线观看| 国产日韩在线观看av| 久久精品视频导航| 色999日韩欧美国产| 91精品国产99久久久久久| 国产区精品视频| 国产成人在线亚洲欧美| 亚洲国产精品美女| 日韩一区在线视频| 欧美精品一区二区免费| 国产精品久久久久久久天堂| 7777kkkk成人观看| 神马久久桃色视频| 日本韩国在线不卡| 97国产精品视频人人做人人爱| 96pao国产成视频永久免费| 欧美大成色www永久网站婷| 欧美性xxxx在线播放| 久久在线视频在线| 亚洲成人中文字幕| 国产极品精品在线观看| 国产suv精品一区二区三区88区| 国产美女高潮久久白浆| 国产精品极品尤物在线观看| 国产盗摄xxxx视频xxx69| 欧美激情网友自拍| 欧美猛交免费看| 亚洲亚裔videos黑人hd| 亚洲国产成人91精品| 8090理伦午夜在线电影| 亚洲自拍偷拍一区| 欧美大片网站在线观看| 亚洲精品自产拍| 欧美人与性动交a欧美精品| 欧美日韩另类在线| 亚洲精品国偷自产在线99热| 亚洲精品久久在线| 国产+人+亚洲| 欧美日韩亚洲激情| 精品福利在线视频| 亚洲精品视频在线观看视频| 亚洲最大av网| 欧美日韩亚洲一区二区三区| 91精品久久久久久久久久| 中文字幕日韩有码| 亚洲免费一级电影| 亚洲人成77777在线观看网| 久久激情五月丁香伊人| 日韩精品福利网站| 国产一区二区三区在线观看网站| 国产精品xxxxx| 亚洲欧洲一区二区三区久久| 欧美精品中文字幕一区| 成人国产在线激情| 欧美极品在线视频| 亚洲在线观看视频| 日韩视频免费中文字幕| 国产精品久久久久久久电影| 日韩电影中文字幕一区| 国内精品免费午夜毛片| 精品性高朝久久久久久久| 欧美成人午夜免费视在线看片| 日韩av中文字幕在线| 亚洲精品欧美日韩| 国产精品老女人视频| 亚洲成av人片在线观看香蕉| 一个人看的www久久| 在线观看亚洲视频| 日韩欧美国产视频| 中文字幕亚洲第一| 亚洲视频一区二区| 国产精品吹潮在线观看| 国产精品香蕉国产| 欧美激情亚洲精品| 久久视频在线播放| 精品久久久久久久久国产字幕| 国产精品稀缺呦系列在线| 日韩男女性生活视频| 中文国产成人精品久久一| 国产成人精品久久二区二区| 成人黄色在线观看| 久久久久久亚洲精品| 久久久成人av| 在线成人免费网站| 国产福利精品在线| 亚洲国产精品免费| 成人国产精品一区| 亚洲精品98久久久久久中文字幕| 久久99亚洲热视| 45www国产精品网站| 国产成人精品在线观看| 久久91精品国产91久久跳| 国产精品美女久久| 日韩av综合网| 欧美床上激情在线观看| 亚洲国产精品免费| 精品日本美女福利在线观看| 欧美日韩亚洲天堂| 日韩免费在线免费观看| 欧美精品日韩三级| 久久天天躁夜夜躁狠狠躁2022| 欧美在线xxx| 久久人人爽人人爽人人片亚洲| 国产精品福利无圣光在线一区| 欧美亚洲国产视频| 欧美一区三区三区高中清蜜桃| 亚洲天堂2020| 欧美天天综合色影久久精品| 亚洲最大中文字幕| 久久躁狠狠躁夜夜爽| 欧美成人午夜激情在线| 色综合久久88色综合天天看泰| 国产精品91视频| 狠狠躁夜夜躁人人躁婷婷91| 日韩成人性视频| 69av成年福利视频| 久久久久久午夜| 亚洲精品在线观看www| 色哟哟亚洲精品一区二区| 亚洲国产精品大全| 精品视频在线播放| 国产免费一区二区三区在线观看| 欧美大成色www永久网站婷| 亚洲老司机av| 91免费看片在线| 亚洲精选中文字幕| 精品呦交小u女在线| 亚洲女在线观看| 国产精品高清在线| 精品国产91乱高清在线观看| 97视频免费观看| 久久精品最新地址| 日韩av观看网址| 欧美激情精品久久久久久蜜臀| 色综合亚洲精品激情狠狠| 国产日本欧美在线观看| 久久精品小视频| 日韩成人av网| 久久不射热爱视频精品| 大荫蒂欧美视频另类xxxx| 高清欧美性猛交xxxx| 国产a∨精品一区二区三区不卡| 成人h视频在线观看播放| 在线播放日韩av| 91精品综合久久久久久五月天| 91免费综合在线| 不卡av在线播放| 欧美性xxxxhd| 国产精品丝袜视频| 98精品国产高清在线xxxx天堂| 欧美午夜片欧美片在线观看| 国产999精品久久久| 欧美日韩中文字幕在线视频| xvideos亚洲| 蜜臀久久99精品久久久无需会员| 色妞在线综合亚洲欧美| 国产精品网站大全| 亚洲2020天天堂在线观看| 欧美成人性色生活仑片| 欧美大片欧美激情性色a∨久久| 亚洲女成人图区| 国产又爽又黄的激情精品视频| 亚洲自拍偷拍网址| 欧美富婆性猛交|