curlandroid下載
『壹』 Win10下NDK 編譯curl&protobuf
Android開發者編寫指南
在Windows環境下進行NDK(Native Development Kit)編譯curl與protobuf的過程,以下步驟作為參考:
創建curl編譯目錄(CURL_BUILD_DIR)位於:
c: dk\21.4.7075529\samples\curl\jni
將curl源碼(curl-8.2.1)放入CURL_BUILD_DIR下。
在CURL_BUILD_DIR創建Android.mk文件,配置編譯參數。
准備curl_config.h文件,生成非Windows版本以避免編譯時尋找錯誤路徑,建議在cygwin環境下使用configure命令進行生成。
執行ndk-build命令於CURL_BUILD_DIR,生成libcurl.so。
創建protobuf編譯目錄(PROTOBUF_BUILD_DIR)位於:
c: dk\21.4.7075529\samples\protobuf\jni
在PROTOBUF_BUILD_DIR創建Android.mk文件,配置protobuf編譯參數。
將protobuf源碼protobuf-cpp-3.21.12下的src目錄復制至PROTOBUF_BUILD_DIR。
執行ndk-build命令於PROTOBUF_BUILD_DIR,生成libprotobuf.a。
若遇到集成libprotobuf.a時出現"undefined reference to __android_log_write'"錯誤,直接在src/google/protobuf/stubs/common.cc中注釋相關代碼行即可解決。
『貳』 如何從國內鏡像獲取android源代碼
首先按幫助中的步驟下載repo工具:
[plain] view plain print?
curl https://storage-googleapis.lug.ustc.e.cn/git-repo-downloads/repo > ~/bin/repo
此時查看下載下來的repo文件可以發現其中的REPO_URL已經指向中科大鏡像的地址,因此應該不需要修改:
[plain] view plain print?
REPO_URL = 'https://gerrit-googlesource.lug.ustc.e.cn/git-repo'
接下來運行如下命令初始化倉庫
[plain] view plain print?
repo init -u git://mirrors.ustc.e.cn/aosp/platform/manifest
發現沒有反應,很長時間後應該是超時才退出,報錯說無法訪問https://gerrit-googlesource.lug.ustc.e.cn/git-repo/clone.bundle
把這個地址放到瀏覽器上嘗試發現也是超時無法訪問,最後好像還是指到google的官網去了,感覺應該是因為缺了什麼東西,沒仔細研究。
但我發現中科大鏡像的Git-repo實際上是可以正常訪問的,因此最後使用如下方法:
1. 使用git clone命令直接從中科大鏡像下載repo工具:
[plain] view plain print?
git clone https://gerrit-googlesource.lug.ustc.e.cn/git-repo
git clone成功後可以在git-repo目錄下看到repo以及其他相關的腳本。
修改PATH環境變數將git-repo目錄加入PATH
2. 修改REPO_URL
此時查看git clone下來的repo文件可以發現其中的REPO_URL還是指向google官網的,因此需要修改該文件指向中科大鏡像:
[plain] view plain print?
REPO_URL = 'https://gerrit-googlesource.lug.ustc.e.cn/git-repo'
3. 初始化倉庫
修改完repo文件後再運行repo init命令初始化倉庫就可以成功了:
[plain] view plain print?
repo init -u git://mirrors.ustc.e.cn/aosp/platform/manifest
以後就可以使用repo sync命令同步源代碼了,速度很快。
你試試看看