看了網上的很多教程和官方http://opencv.willowgarage.com/wiki/Android提供的如何在Android上使用OpenCV的教程,照着一步一步的做最後總有些問題,不是APK安裝失敗就是運行時突然報錯退出。和同學一起摸索了一段時間後,終於弄成功,在這裏做一個總結。最關鍵的問題是項目中各個文件夾和文件的位置要放置正確,而且目標機器的CPU架構要設置正確,下面是配置的詳細過程。
一、Android開發環境
1.Sun JDK 6
訪問http://www.oracle.com/technetwork/java/javase/downloads/index.html這裏並且安裝好JDK
注意:不要使用OpenJDK,Android SDK支持Sun JDK
2.Android SDK
訪問http://developer.android.com/sdk/index.html獲取android sdk,如果選擇的是Windows安裝文件,則你還需要安裝32bit JRE。
3.Android SDK組件
l Android SDK Tools, revision 12或者更新
l SDK平臺Android 2.2, API 8, revision 2(also known as Java API)
這是OpenCV Java API支持的最低平臺,OpenCV發佈默認爲Android 2.2
4. Eclipse IDE和ADT plugin for Eclipse
訪問http://www.eclipse.org/downloads/下載Eclipse並解壓即可。
打開Eclipse,選擇Help->Install New Software菜單,但後點擊Add按鈕,在Add Repository對話框中的Name一欄輸入"ADT Plugin",Location一欄輸入https://dl-ssl.google.com/android/eclipse/,但後點擊OK。在Available Software對話框中選中所有單選框,然後一路next直到finish爲止,當安裝ADT完畢後重啓Eclipse即可。
5. Android NDK
訪問http://developer.android.com/sdk/ndk/index.html 下載最新的Android NDK,是一個ZIP解壓包,只需解壓到某個路徑即可,例如"F:\android-ndk-r6b-windows\android-ndk-r6b",再把這個路徑添加到系統的環境變量PATH中。
6. Cygwin
訪問http://cygwin.com/index.html下載最新的Cygwin,最好安裝全部的Cygwin組件。假設安裝在"C:\cygwin"下,將"C:\cygwin\bin"添加到系統環境變量PATH中,爲了方便的在命令行下調用Android NDK,找到"C:\cygwin\home\(你的用戶名)"這個目錄,打開文件".bash_profile",在文件的最下面加上下面兩行內容:
NDK=/cygdrive/f/android-ndk-r6b-windows/android-ndk-r6b
export NDK
這樣便可以在命令行中以 "$NDK/ndk-build" 這種形式調用NDK了。
二、OpenCV
1.首先下載在http://sourceforge.net/projects/opencvlibrary/files/opencv-android/2.3.1/ 已經預編譯好的opencv包。
2.把下載好的包解壓到某個路徑上(最好不要帶空格),例如"F:\OpenCV-2.3.1-android-bin"
三、如何在Android程序中使用OpenCV