curl是一個著名的開源文件傳輸協(xié)議實現(xiàn)軟件,其中包括了HTTP、HTTPS、FTP等多種常用不常用協(xié)議的實現(xiàn)。在curl最新版本的官方源代碼中其實已經(jīng)包括了android的編譯文件(Android.mk),不過要想編譯通過還需要做一些工作。
我所使用的curl版本是7.20.0,android源代碼版本是eclair 2.1。
首先將curl解壓到external目錄下,將目錄名稱改為curl(不改也可以,不過android的習慣是不帶版本號,入鄉(xiāng)隨俗吧)。
(1) 首先要創(chuàng)建一個頭文件curl_config.h。創(chuàng)建方法在curl/Android.mk文件頭部的注釋里有說明。根據(jù)這個說明運行configure。我所使用的命令行如下(我是編譯成x86版本的,不過我們的目的只是要生成curl_config.h文件,所以x86還是arm其實是一樣的):
(3)修改curl/Android.mk文件,在LOCAL_C_INCLUDES變量的值中增加external/openssl/include,在 LOCAL_SYSTEM_SHARED_LIBRARIES變量的值中增加 libssl libz libcrypto。
好了現(xiàn)在可以編譯了:
make curl ONE_SHOT_MAKEFILE=external/curl/Android.mk TARGET_PRODUCT=<...>
不過上述Android.mk文件會將libcurl編譯為靜態(tài)庫,要想編譯為動態(tài)庫還需要修改一下Android.mk文件。
新聞熱點
疑難解答
圖片精選