一. 環(huán)境準(zhǔn)備
安裝 cmake 以及 python2.7, 以及下載 ndk-r16b,并配置環(huán)境變量 NDK_ROOT 指向 ndk 路徑。
如果是 Windows 系統(tǒng)還需要安裝 cygwin,并務(wù)必要安裝其中的 make, gcc gdb。 然后把 cygwin 的 bin 目錄配置到環(huán)境變量中的 PATH 中
- 安裝cmake
https://cmake.org/download/
cmake_install.png
下載后忍饰,安裝常規(guī)方式安裝即可。
在安裝時(shí)需要注意的是:
為所有用戶添加CMake環(huán)境變量:
安裝成功后打開應(yīng)該是這樣:
- 安裝python2.7
https://www.python.org/downloads/release/python-2716/下載后雙擊安裝包進(jìn)行安裝
2.1 選擇是否將Python.exe添加到系統(tǒng)Path環(huán)境變量(也可以安裝完成后手動(dòng)在環(huán)境變量添加/刪除Python.exe 路徑)
2.2 安裝后驗(yàn)證通過應(yīng)該是這樣:
- 安裝 cygwin
https://cygwin.com/install.html
3.1 下載后點(diǎn)擊setup-x86_64.exe安裝寺庄,出現(xiàn)安裝畫面艾蓝。直接點(diǎn)“下一步”,出現(xiàn)安裝模式的對(duì)話框斗塘,如下圖所示:
Cygwin1.png
我們看到有三種安裝模式:
- Install from Internet赢织,這種模式直接從Internet安裝,適合網(wǎng)速較快的情況馍盟;
- Download Without Installing于置,這種模式只從網(wǎng)上下載Cygwin的組件包,但不安裝贞岭;
- Install from Local Directory八毯,這種模式與上面第二種模式對(duì)應(yīng)搓侄,當(dāng)你的Cygwin組件包已經(jīng)下載到本地,則可以使用此模式從本地安裝Cygwin话速。
在這一步讶踪,需要注意,為了獲得最快的下載速度泊交,我們首先在列表中尋找Cygwin中國鏡像的地址:http://www.cygwin.cn乳讥,如果找到就選中這個(gè)地址;如果找不到這個(gè)地址活合,就選一個(gè)國內(nèi)的鏡像地址雏婶,或者使用阿里云鏡像(http://mirrors.aliyun.com/cygwin/)選擇完成后物赶,點(diǎn)擊“下一步”白指,
這一步,我們選擇需要下載安裝的組件包酵紫,為了使我們安裝的Cygwin能夠編譯xlog,需要安裝
- make
- gcc
-
gdb
cygwin_2.png
3.2 安裝后驗(yàn)證
運(yùn)行cygwin告嘲,在彈出的命令行窗口輸入:
cygcheck -c cygwin
會(huì)打印出當(dāng)前cygwin的版本和運(yùn)行狀態(tài),如果status是ok的話奖地,則cygwin運(yùn)行正常橄唬。
然后依次輸入gcc –version,g++ --version参歹,make –version仰楚,gdb –version進(jìn)行測(cè)試,如果都打印出版本信息和一些描述信息犬庇,非常高興的告訴你僧界,你的cygwin安裝完成了!
3.2.1 在windows命令下使用cygwin
要想在Windows命令提示符下使用Cygwin臭挽,你需要添加Cygwin到Windows環(huán)境變量捂襟。
打開命令提示符來測(cè)試軟件測(cè)試幾個(gè)Linux命令。
正如下面的圖片里所看到的欢峰,pwd和ls在Windows命令提示符工作正常
- ndk-r16b
https://developer.android.com/ndk/downloads/older_releases.html?hl=zh-cn
ndkr16.png
- 解壓android-ndk-r16b-windows-x86_64.zip
- 設(shè)置NDK_ROOT環(huán)境變量葬荷,在系統(tǒng)變量中增加。值如:”D:\android-ndk-r16b“纽帖;
-
把”%NDK_ROOT%“加入到系統(tǒng)變量Path中宠漩,記得分號(hào)隔開。
配置成功:
ndkr16bsuc.png
-
環(huán)境配置小結(jié)
到此環(huán)境準(zhǔn)備成功了懊直,接下來準(zhǔn)備編譯試試
編譯xlog
所有的編譯腳本都在mars/mars 目錄, 運(yùn)行編譯腳本之前也必須cd到此目錄哄孤,在當(dāng)前目錄下運(yùn)行,默認(rèn)是編譯 armeabi 的吹截,如果需要其他 CPU 架構(gòu)瘦陈,把編譯腳本中的archs = set(['armeabi'])
稍作修改即可凝危。
archs = set(['armeabi','armeabi-v7a','x86','arm64-v8a','x86_64'])
開始編譯
python build_android.py
執(zhí)行命令后,會(huì)讓選擇:
Enter menu:
1\. Clean && build mars.
2\. Build incrementally mars.
3\. Clean && build xlog.
4\. Exit
如需要自定義日志加密算法或者長(zhǎng)短連協(xié)議加解包晨逝,請(qǐng)選擇static libs
選項(xiàng)蛾默,即 2 和 3。選項(xiàng) 1 和 2 輸出結(jié)果全部在 mars_android_sdk 目錄中捉貌,3 和 4 輸出結(jié)果全部在 mars_xlog_sdk 目錄中支鸡。
結(jié)果: