使用最新ndk,直接拋棄cygwin,以前做Android的項目要用到NDK就必須要下載NDK,下載安裝Cygwin(模擬Linux環境用的),下載CDT(Eclipse C/C++開發插件),還要配置編譯器,環境變量,特別麻煩,新版就不需要了。 (軟件下載百度雲鏈接:http://pan.baidu.com/s/1nt9g7zz 密碼:50m4)
setp1:將下載下來的“android-ndk-r10c-windows-x86.exe”雙擊安裝,安裝完成后出現android-ndk-r10d文件夾,該文件夾為NDK的根目錄。
其中 samples中為NDK提供的實例。
setp 2: 啟動"eclipse.exe"
選擇菜單欄上的[Window->Perferences->Android->NDK]設置 NDK Loaction 為E:\Android\android-ndk-r10d;
我的電腦 添加環境變量 NDK_ROOT 為: E:\Android\android-ndk-r10d
在環境變量 PATH 下追加 :%NDK_ROOT%;
step 3:添加測試項目hello-jni
將ndk下samples目錄下hello-jni項目導入
項目導入之后,添加編譯器,選擇項目,右擊properties(NDK_builder我事先做好的,這里我們要new一個新的)
選擇program
下面按圖設置好
勾選項目
將編譯器up到最先位置
step 4:完成了,然后運行。運行之前先編譯NDK,然后在編譯JAVA代碼。編譯也許會遇到Unable to launch cygpath. Is Cygwin on the path?錯誤,解決辦法如下:
1.工程右鍵,點Properties->C/C++ Build的Building Settings中去掉Use default build command,然后輸入${NDKROOT}/ndk-build.cmd
2.在C/C++ Build中點擊Environment,點Add...添加環境變量NDKROOT,值為NDK的根目錄
3、android NDK開發編譯C++文件出現Type 'jint' could not be resolved和Unresolved inclusion: <jni...
今天在編譯android NDK工程的時候,在jni文件夾下的cpp文件中報了一大堆錯誤,諸如:Unresolved inclusion: <jni.h>、Type 'jint' could not be resolved、Type 'jintArray' could not be resolved等,根據經驗,這樣的錯誤肯定是沒有包含相應的頭文件導致的。
解決方案:
選中工程,右鍵->Properties,點擊C/C++ General展開,點擊 Path and Symbols,在右邊Includes下,點擊Add,把NDK文件夾下的jni頭文件和相應的C++頭文件添加進來。一定要填寫完整的路徑,比如我添加的兩個路徑分別是:
E:\AndroidNDK\android-ndk-r10c\toolchains\mipsel-linux-android-4.8\prebuilt\windows-x86_64\lib\gcc\mipsel-linux-android\4.8\include
E:\AndroidNDK\android-ndk-r10c\platforms\android-19\arch-arm\usr\include
大家在自己的NDK文件安裝目錄下參照我的路徑找到相應的include文件夾,添加包含路徑,再重新編譯,就不會報錯了。
4.再編譯,問題就解決啦!