天天看點

Windows SublimeText内使用NDK編譯Android so(不用cygwin)

測試環境:

sublime text version 2.0.2, build 2221 和 sublime text stable channel, build 3065 (version3)

Win7 64位

android-ndk-r10c windows x86_64

步驟:

1.設定好ndk環境變量

假如把ndk壓縮包解壓到D:\android-ndk-r10c,則

控制台 -> 系統 -> 進階系統設定 -> 進階 -> 環境變量 -> 選中 系統變量裡的Path,點選 編輯 按鈕 -> 變量值末尾加入:

;D:\android-ndk-r10c

注意多個值之間有分号分隔。

一路按确定。

2.建好sublime工程

最簡單的方法是打開代碼的根目錄,然後點選菜單Project -> Save Project As... -> 起個名字儲存在代碼的根目錄(儲存位置是任意的,後面步驟中的路徑相應改變就行)。

3.為工程加入build_systems

sublime菜單 Project -> Edit Project -> 編輯檔案并儲存。編輯成這樣:

sublime text 2和3的情況不同,build_systems裡有兩個設定,根據你使用的版本,保留其中一個即可。

其中,name為ndk-build的是sublime text 3用的,可以看到shell_cmd就是調用ndk-build,working_dir是設定指令行的初始路徑,可填入android工程的路徑,其中${project_path}是sublime text的保留變量,指代此sublime text工程檔案的目錄(注意,sublime text工程路徑和android工程路徑是兩個概念,别混淆了)。

name為ndk-build-subl2是sublime text 2用的,我試了很多遍都無法直接調用ndk-build,是以是先調用同目錄下的build.bat腳本,此腳本的内容為:

4.設定Build System

Sublime菜單 Tools -> Build System -> 選擇 ndk-build 或 ndk-build-subl2。這裡的新選項是讀取了上一步所做的設定才會出現的。

到此就ok了,在菜單中選擇Build或Ctrl + B就會編譯了,sublime text自動會彈出視窗顯示build的結果。

踩了幾個坑才總結出來的,如果遇到問題歡迎留言交流。

PS:要在linux的sublimetext3編譯so,修改"shell_cmd"為". ~/.bashrc;ndk-build -j5"就可以了,.bashrc要export ndk路徑

繼續閱讀