Android中JNI開發(一)開發環境

來源:互聯網
上載者:User

Android中JNI開發環境:

大概分4個步驟:

   1. 安裝Cygwin,線上安裝,安裝過程略(注意:安裝時除了常用的工具外不要忘了安裝make和gcc);

   2. 下載NDK,下載完後直接解壓即可;

   3. 配置環境-->這個很簡單。
       找到Cygwin目錄下,開啟home/使用者/.bash_profile檔案,添加"NDK=/cygdrive/<你的盤符>/<android ndk 目錄>", 例如:
         NDK=/cygdrive/e/android-ndk-r5
         export NDK
 

   4. 現在配置就算是完成了,可以直接通過命令“$NDK/ndk-build”來編譯android項目中的c/c++並打成庫了,執行成功後,它會自動產生一個libs目錄,把編譯產生的.so檔案放在        裡面。。

       注意:編譯時間需要在android項目的根目錄下執行;

       例如:  cd $NDK    -進入NDK的根目錄
                     cd samples/hello-jni/    -進入hello-jni項目的目錄
                     $NDK/ndk-build     -編譯項目
                     然後找到這個項目目錄,發現會產生一個libs目錄就是編譯後的結果。開啟它,如果有libhello-jni.so這個檔案就正常了


注意:在這幾個步驟中可能會遇到一些錯誤,我遇到的說一下。

1.在編譯過程中提示:
       ERROR: You are using a non-Cygwin compatible Make program.
     這個是說你用的make工具不是cygwin的,後來發現原來,我的環境裡配置了WinGW,暫時的刪除後未提示了。
  
2. 在編譯過程中提示:
      can't open file /cygdrive/d/android-ndk-k/check-awk.awk
      source line number 1 source file /cygdrive/d/android-ndk-r7/build/awk/check-awk.awk
      context is
      >>>  <<<
      Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Naw
      /cygdrive/d/android-ndk-r7/build/core/init.mk:258: *** Android NDK: Aborting.    。 停止
    這個在網上看到說:找到“\NDK目錄\prebuilt\windows\bin\awk.exe”,把awk.exe刪除或改名,之後編譯通過。
  
3.在編譯過程中提示:
     Cannot find 'make' program. Please install Cygwin make package or define the....
    這個是說Cygwin沒有安裝make工具,我採用的是再次 線上安裝 一遍Cygwin,選擇相同的安裝目錄,重新勾上make工具,不會刪除以前安裝過的其它工具。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.