在WINDOWS下使用Eclipse + JNI開發C++ Android程序的環境配置

 

個人一點小小的心得,拿出來與大家分享。

因爲最近有重新安裝系統,所以前天重新配置了一遍,發現android有些東西更新了以後又要修改
這篇文章是今天重新修改過的。請大家驗證。謝謝。

如果您是WINODWS環境的話,請您往下看,但如果您是LINUX達人,那就沒得說啦,僅供娛樂。歡迎板磚。

---------------------------------------我是分割線--------------------------------------------------
//ECLIPSE 部分
1.下載並安裝JDK (http://www.oracle.com/technetwork/java/javase/downloads/index.html),選擇DOWNLOAD JDK

2.配置環境
JAVA_HOME=xxxxxxx/
PATH=xxxxx/bin
CLASSPATH=xxxxxxx/lib/tools.jar;xxxxxx/lib/dt.jar
(這些配置了都不愛配了,不用寫了吧)

重啓

修改:這邊要注意一點,如果您是用的64位系統,請注意了。請下載相同兼容版本的JDK和Eclipse,也就是說,如果您是安裝的64位JDK,相對應的Eclipse也得是64位的,不然啓動Eclipse的時候會提示說找不到JVM。

3.下載並解壓Eclipse(http://www.eclipse.org/downloads/),下Classic 3.6的標準版,其餘忽略
修改:下載了這個版本以後在以後安裝ADT的時候會遇到問題,提示找不到GEF之類,是因爲標準版本的Eclipse一些東西沒有包含,需要自己手動更新安裝,這邊有個偷懶的辦法:後來我重新下載了JEE以後問題解決了,現在ADT更新到0.99版本,所以如果您遇到了跟我同樣的問題,重新下載個JEE版本的Eclipse吧。如果還有更好的解決辦法,請告訴我們,謝謝。

4.下載ANDROID SDK(http://developer.android.com/sdk/index.html),解壓後使用SETUP下載API,1-8,時間比較長(我很慢,快得時候也才200K,慢的時候幾十K),耐心等待

5.用Eclipse的Install New Software ADD網址(http://dl-ssl.google.com/android/eclipse/)安裝DDMS和ADT 
(如果不需要跟C/C++庫鏈接的話,這個時候可以break出去進行ANDROID開發了,如果您需要so,需要C++,需要效率,需要很多很多,那麼請continues)

6.用Eclipse的Install New Software ADD網址 (http://download.eclipse.org/releases/helios),往下翻啊翻,找到(C/C++ Development Tools 打勾,上下的也都可以打,像 C/C++ Memory View Enhancements 也可以蠻裝下)安裝CDT

修改:這個其實可以不用,如果您在CYGWIN下面編譯C++很順的話,Eclipse只是提供了一個可視化的的編程界面罷了,下面我也做出過說明

重啓,這時候Eclipse環境已經配置好了

---------------------------------------我是分割線--------------------------------------------------
修改:在這邊重新說明一下,感謝一位網友提出的建議,其實如果我們只需要編譯C++的話,一些額外的東西是不必要下載的,以前我說的漫長時間是因爲沒有選擇就直接安裝了。

其實我們必要的是這些:
binutils、gcc-core、gcc-g++、gcc-mingw-core、gcc-mingw-g++、gdb、gettext、libgcc1、libstdc++6、make、
mingw-runtime

其他的自己看着選擇吧。

//交叉編譯器部分 
 這邊我們選擇的是cygwin ,這個配置過程會很長(主要是下載),請耐心等待,不幸的話你會配置2天多或者更多,幸運的話只需要幾個小時就好了。
1.首先下載最新的cygwin(http://www.cygwin.com/),有個幾百K的安裝文件setup.exe

2.根據提示安裝,設置好package目錄(這個很重要,如果不幸斷線,還有可能保存一部分已經下載過的),
選擇一個合適的服務器,選擇包含有gcc/g++/make的devl部分,切換到install,下一步,安裝

3.自動下載更新,這個過程會十十十十十十十十十十分漫長,根據選擇的服務器速度來決定(推薦kernel那個服務器,臺灣的最好不要選,在臺灣我斷線兩次,最好選擇HTTP,FTP不穩定),不要取消,取消就沒了。

4.安裝完畢後運行cygwin,輸入make -v 、 gcc -v 、g++ -v 這些都有顯示就沒問題了,如果是command net found就需
要返回2 重新選擇服務器安裝,(我在這邊就是因爲g++沒有安裝,所以在選擇了cygwin作爲Eclipse下面的C++編譯器的情況下編譯C++工程都無法通過,折騰了半天,後來才發現,如果你不需要使用cygwin在Eclipse下面編譯C++的話,g++是可以不裝的,在cygwin下面編譯是一樣的,但個人認爲在Ecllipse下面會方便很多,看喜好吧)

5.到這邊交叉編譯器部分已經可以了

---------------------------------------我是分割線--------------------------------------------------


//NDK部分 
r4部分的NDK和以前介紹的都不會相同,之前的版本其實也就是多了個setup的sh文件,r4之後都不需要了,這邊介紹的是r4的方法
1.先下載NDK(http://developer.android.com/sdk/ndk/index.html),解壓到任意的目錄,最好是容易找到的

2.然後是編輯交叉編譯器的環境變量,打開cygwin的安裝目錄 home/你的用戶名/ 在這個目錄下面會有一個.bash_profile 的文件,編輯它在文件的最後加入NDK=/cygdrive/解壓NDK的盤符如(c d e等等)/NDK的文件夾 export NDK
保存退出,重啓cygwin 

(其實這個環境變量是爲了方便訪問NDK目錄下面的ndk-bulid或者ndk-gdb而設置的,完全也可以不設置,如果不嫌麻煩可以每次都手動輸入一個長長的路徑來制定ndk-bulid或者ndk-gdb這個文件在哪裏,如果你閒打字速度不快的話的確可以練練)

3.現在整個環境就配置好了

題外(本人配置這個東西折騰了三四天,首先是裝LINUX,但總是開個虛擬機太慢太慢,虛擬機裏面下載更慢,
VM跟XPMODO同時開更卡得死,最終幾盡崩潰邊緣的情況然後纔看到的WINDOWS交叉編譯器的方法,破電腦2G內存,獻醜了。)


---------------------------------------我是分割線--------------------------------------------------

如何編譯?

1.打開cygwin,進入samples工程所在的目錄,我選擇的是下面的hello-jni工程,運行 $NDK/ndk-bulid  ,就會在hello-jni的/libs/armeabi下面生成.so的庫文件

2.創建一個新工程,選擇工程的目錄,選擇hello-jni,運行,就可以看到效果了。


其餘筆記還待更新。。。


---------------------------------------我是分割線--------------------------------------------------

PS:上面的資源只有SDK和NDK需要在ANDROID開發官網下載,所以翻牆只需要在瀏覽ANDROID官網的時候,如果是開VPN下載的話可能會覺得速度很慢,最好是在使用VPN打開了想要的網頁以後關掉VPN,然後再去點擊網頁上的下載鏈接,這樣子速度就會跟平時下載速度一樣快了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章