Android學習——windows下搭建Cygwin環境

  在上一篇博文《Android學習——windows下搭建NDK_r9環境》中,咱們詳細的講解了在windows下進行Android NDK開發環境的配置,咱們也講到了在NDk r7之後,咱們能夠不須要配置Cygwin也能夠進行編譯了,那麼有特殊狀況呢?下面就來說解一下Cygwin這個工具吧。html

1.Cygwin簡介

Cygwin是在Windows下模擬Linux環境的工具集,它主要包含一下兩個部分:android

   1) cywin1.dll : 該文件模擬了真是的LinuxAPI,是一個API模擬層,開發人員能夠將在Linux下編寫的C/C++ 源代碼在Cygwin中進行編譯,在編譯的過程當中,若是C/C++ 調用了Linux中的API,Cygwin就會利用cygwin1.dll 來編譯 C/C++源代碼,從而能夠在windows下生成Linux下的lib...so文件web

   2) 模擬Linux環境的工具集windows

2. Cygwin 下載  

下載地址:http://www.cygwin.com/bash

因爲安裝包過於龐大,因此官網只提供了在線安裝程序進行下載,下面根據本身的系統選擇相應的版本進行下載:工具

3. Cygwin 安裝說明

   1) 雙擊剛剛下載的安裝包打開,出現如下界面, 直接點擊下一步,如圖:學習

  

   2) 選擇安裝方式: 若是你之前安裝過而且有保存安裝文件,能夠選擇第三個本地安裝,因爲我是第一次安裝,在這裏選擇在線安裝,如圖:網站

  

   3) 選擇安裝目錄:在線下載安裝的大小高達18.6G,若是C盤空間比較緊張的話,建議放在其餘盤。ui

    

   4) 選擇下載文件存放路徑:這些文件下載後會一直保留着,下次安裝能夠選擇本地安裝,就不用每次都是從網上下載,下載後的安裝包大概5G(建議保留,下次能夠直接本地安裝)spa

     

   5) 選擇鏈接方式:在公司內網的話可能要設置下代理才能連上的話就選擇第三項,不然選擇第一項

  

   6) 選擇鏡像網站:建議選擇 http://mirrors.kernel.org速度會快一點,親測。

  

   7) 點擊下一步後,出現下圖,正在加載須要安裝的項目

  

   8) 等待加載安裝項載入,選擇安裝項。點擊All旁邊的Default,如圖:

  

   9) 後面會彈出兩次窗口,都點擊肯定

    

  10) 全部default變成了install後就能夠點下一步

  

  11) 接着開始進行環境要求預檢測:

  

  12) 會彈出一個窗口,說明解決依賴須要的的安裝,繼續點擊下一步

  

  13) 接下來就是進行下載和安裝了,網速比較慢,建議晚上睡覺前進行下載安裝,次日天亮就能夠完成了(我當時用了12個鐘)

  

   14) 安裝完成後,咱們能夠經過桌面上的一下圖標打開Cygwin程序,他是一個相似Linux的控制檯程序,能夠在裏面輸入Linux命令

  

  15) 爲Cygwin 配置環境變量

  I. 點擊新建按鈕,新建一個系統變量, 變量名爲 CYGWIN_HOME ,變量值爲 你的Cygwin的安裝路徑 (因爲我早已經配置好了,因此只展現編輯狀態下的值給你們看)

  

  II. 在系統變量Path中添加值 %CYGWIN_HOME%;. (注意最後面有.)在最開頭,如圖:

  

4. Cygwin 安裝驗證

執行完上面的步驟後,咱們已經完成了安裝步驟,下面咱們來執行驗證下是否安裝成功,同時驗證一下makge和gcc(C語言編譯器)的版本

   1) 執行命令 gcc -v,結果輸出以下:

  

   2) 執行命令 make -v,結果輸出以下:

  

到這裏,咱們就能夠肯定Cygwin已經安裝完畢了。

5. Cygwin 中使用 NDK

5.1 Cygwin 中 NDK的環境搭建

如今雖然已經安裝好了Android NDK 和Cygwin,可是他們都是獨立的環境,要想使用Cygwin來編譯基於Android NDK的C/C++程序的話,咱們還須要將Android NDK和Cygwin進行整合,下面直接講解一下配置的步驟吧:

   1)  打開 <Cygwin安裝目錄>\home\<你的用戶名>\.bash_profile文件,而且在該文件中進行 NDK 環境變量的配置:

ANDROID_NDK_ROOT=/cygdrive/<NDK安裝盤符>/<NDK安裝路徑>
export ANDROID_NDK_ROOT

例如我我的就是在 D:\DevTools\cygwin64\home\lenovo 路徑下的 .bash_profile 文件中最後面配置了以下內容:

ANDROID_NDK_ROOT=/cygdrive/d/DevTools/JAVA/adt-bundle-windows/android-ndk-r9b
export ANDROID_NDK_ROOT

   2) 保存改文件的修改內容而且從新啓動Cygwin控制檯

   3) 執行命令 echo $ANDROID_NDK_ROOT ,輸出輸出咱們配置的NDK安裝路徑表示配置成功,如圖:

  

5.2 Cygwin 中 NDK的使用說明

下面,咱們以NDK中給出的hello-jni做爲使用例子進行講解,步驟以下:

   1) 進入hello-jni文件夾或者他的任意一個父文件夾,如圖,咱們直接經過cd命令進入 hello-jni 目錄下

  

   2) 直接執行命令 $ANDROID_NDK_ROOT/ndk-build 進行編譯,輸出如下結果表示編譯成功

  

   3) 如上圖所示,咱們已經編譯成功了,並且,咱們能夠在\samples\hello-jni\obj\local\armeabi文件夾中看到編譯後的動態連接庫libhello-jni.so。

相關文章
相關標籤/搜索