OpenCV4Android SDK在Win 8.1平台上的配置,opencv4androidsdk
這篇文章主要記錄自己安裝和配置 OpenCV4Android SDK的過程。我的安裝環境是:win8.1 64位。
當然,在做opencv開發之前,最好是具備一定的開發經驗,如:
1. Android上的java開發
2. Java Native Interface (JNI):在java虛擬機器上運行本地代碼的技術
3. Android Activity和它的生命週期,這是android開發的精華部分
4. Android相機開發的相關知識。
而在配置ADK、Eclipse和ADT等過程中,一直出現很多錯誤,儘管使用了網上一些很多教程。這些教程的流程大致相同,但一build就會出現非常多的錯誤。後來在得到論壇的推薦,嘗試使用英偉達推出的TADP(Tegra Android Development Pack)全套開發包,包含ADK、Eclipse、NDK和OpenCV等安裝包,在安裝的過程中會自動設定所有環境變數和相關外掛程式。TADP主要包含以下內容:
Android Development: Android SDK r24.0.2 Android APIs Android NDK32 and NDK64 r10d Android Build Tools r21.1.2 Android Platform Tools r21 Android Support Library r21 Android Support Repository Lbrary r9 Google USB Driver r11 JDK 1.7.0_71 Eclipse 4.3, CDT 8.2.0, ADT 24.0.2 Apache Ant 1.8.2 Gradle 2.2.1Tegra Libraries and Tools: Tegra Graphics Debugger 1.3 (Win/OSX/Linux) Nsight Tegra 2.1, Visual Studio Edition (Win) Tegra System Profiler 2.2 (Win/OSX/Linux) CUDA 7.0 BETA on NVIDIA Tegra X1 devices (available on Linux x64 on select devices only. See documentation for details.) CUDA 6.5 on NVIDIA Tegra K1 devices (available on Linux x64 on select devices only. See documentation for details.) PerfKit 4.3 (Win/OSX/Linux) PerfHUD ES 2.2 [NVIDIA SHIELD support requires OTA Update 65+] OpenCV for Tegra 2.4.8.2 PhysX 3.3 for Android Google Nexus 9 Tablet Support for NVIDIA Tegra K1 64-bit mobile processor. Note: CUDA is not supported on Nexus 9. NVIDIA SHIELD Android TV Support NVIDIA SHIELD Tablet Support NVIDIA SHIELD Tools Support NVIDIA Tegra NOTE 7 Tools Support Google Project Tango Tablet Development Kit Tools SupportTegra Samples, Docsand Devices Support NVIDIA GameWorks OpenGL Samples 2.1 Tegra SDK Samples Tegra SDK Documentation Tegra X1 64-bit Based Device Support Tegra K1 64-bit Based Device Support Google Project Tango Tablet Development Kit Tools Support
:
https://developer.nvidia.com/tegra-android-development-pack
註:NVIDIA的Tegra Android 開發包包括一些NVIDIA Tegra平台的特性,但是它並不僅限於Tegra裝置使用。官網提到TADP適用於64位windows,但在實際使用時發現TADP下載安裝的Eclipse是32位版本,無法相容64位的JDK,出現了錯誤:Java was started but returned exit code=13。針對我本人出現的錯誤,建議使用64位系統的自行下載Eclipse 4.3 64位版本+ADT。
在準備好TADP和自行下載的Eclipse 4.3 64位版本+ADT後,就可以開始整套的安裝和配置,開啟tadp-4.0r1-windows.exe,提示設定下載軟體包的路徑和安裝路徑:
進入下載安裝介面,選擇需要的組件(這裡不要勾選eclipse和ADT),點擊next自動下載,在安裝過程中會提示你Accept License:
安裝完成後,重啟電腦,此時除了eclipse和ADT之外其他已經安裝完畢。解壓Eclipse 4.3 64位版本到TADP的安裝路徑中,開啟eclipse,設定一個Workspace,下一步是安裝ADT。
ADT安裝步驟如下:
1.Eclipse的功能表列中,找到:Help -> Install New Software
2.在出現的Install對話方塊中,選擇”Add…”,在彈出的對話方塊中給ADT外掛程式命名,並指定ADT外掛程式安裝包的路徑:
3.點擊”OK”後,彈出ADT的安裝列表,全部勾選,點擊Next進行安裝。
期間可能會有警告,直接pass~
4.安裝完成後重啟eclipse,彈出以下對話方塊,安裝成功!
5.在Eclipse的功能表列中,找到:Window -> Preferences,點擊選項卡Android,可以看到已安裝的Android API。
6.此時在eclipse中還無法找到Android SDK Manager和Android Virtual Device Manager,因此需要設定ADK的路徑,在功能表列中進入:Window -> Preferences->Android,選擇Android SDK的路徑(在TADP的安裝路徑中找到):
7.在彈出的對話方塊中選擇:Use existing SDKs,同時確保Existing Location為Android SDK的安裝路徑:
8.在完成一系列操作後重啟eclipse,可在功能表列Window下看到:
至此整個環境搭建完成!
我是華麗的分割線
第二部分是示範OpenCV demo測試開發環境是否還有問題。我們要將OpenCV庫和例子匯入工作空間。OpenCV庫打包後做為android庫項目,提供給android項目使用,引用一下就行了。每個例子都是引用了opencv庫的普通的android項目,所以要開啟例子別忘記了先匯入庫項目。具體步驟如下:
1.開啟eclipse,功能表列找到:File->import:
2.依次開啟:General->Existing Projects into Workspace->next:
3.在以下對話方塊,點擊finish載入所有選擇項目到工作空間,開始編譯:
4.看了Problems視窗,很多錯誤…網上對於這些問題的解決方案有很多,不盡相同,這裡只給出我自己的解決方案:
5.問題解決步驟:
a.右鍵OpenCV庫項目—Android Tools–Fix Project Properties;然後Project–Clean–Clean all project;
b.找到報錯的android工程,將修改工程目錄下的project.properties檔案裡的內容target=android-XX,XX部分改成你機器裡裝過的android SDK版本,這些版本可以通過Window -> Preferences->Android中查看。
c.至於在problems視圖裡面出現其他錯誤,只能繼續認真檢查代碼是否有其他問題了。
6.在完成了步驟b後,所有錯誤消失了,接下來可以運行各個OpenCV的執行個體。如果有安卓手機,通過USB串連至電腦,然後右擊一個項目,在“Run As”視窗中選擇“Android Application”。
7.然後Console中又出錯了,原因是:The connection to adb is down, and a severe error has occured. 如果adb.exe路徑沒有問題,可以嘗試:help->Check for update,檢查了更新,然後重啟了eclipse。問題就解決了…
8.在安卓手機上運行OpenCV項目時,請確保手機已安裝OpenCV Manager,否則會提示以下資訊:
9.demo運行成功!可以開始OpenCV4Android開發了!