上一個教程: Clojure OpenCV 開發入門
下一個教程: 使用 OpenCV 進行 Android 開發
| |
| 原始作者 | Rostislav Vasilikhin |
| 相容性 | OpenCV >= 4.0 |
本指南旨在幫助您學習 Android 開發基礎知識並快速設定您的工作環境。它已在 Ubuntu 22.04 和 Windows 10 上進行了測試。
如果在徹底遵循這些步驟後遇到任何錯誤,請隨時透過 OpenCV 論壇與我們聯絡。我們將盡力幫助您。
前言
Android 是一個基於 Linux 的開源移動作業系統,由 Google 領導的開放手機聯盟開發。有關一般詳細資訊,請參閱 Android 主頁。
Android 開發與其他平臺的開發有很大不同。因此,在開始 Android 程式設計之前,我們建議您確保熟悉以下關鍵主題
- Java 程式語言是 Android OS 的主要開發技術。此外,您還可以找到 Oracle Java 文件。
- Java 本地介面 (JNI) 是一種在 Java 虛擬機器中執行原生代碼的技術。此外,您還可以找到 Oracle JNI 文件。
- Android Activity 及其生命週期,這是一個重要的 Android API 類。
- OpenCV 開發肯定需要一些 Android Camera 規範知識。
手動設定 Android 開發環境
在本教程中,我們將使用官方 Android Studio IDE 和一組其他免費提供的工具。
獲取工具和依賴項
以下是如何獲得一個可以工作的環境
- 下載並安裝 Android Studio
- Ubuntu
- 下載 Android Studio:https://developer.android.com/studio
- 提取 tar.gz 存檔
- 按照
Install-Linux-tar.txt 中的說明進行操作:在終端中開啟 android-studio/bin 資料夾並執行 ./studio.sh
- 透過 GUI 執行標準安裝
- 您可以選擇透過單擊選單Tools -> Create desktop entry在桌面上新增快捷方式以進行快速訪問。該選單在建立或開啟任何專案後出現。
- Windows:只需從官方網站下載 Android Studio 並執行安裝程式即可。
安裝最新的 Android SDK 和 NDK
- 在 Android Studio 中開啟 SDK 管理器(Customize -> All Settings -> Languages & Frameworks -> Android SDK)
- 啟用“顯示軟體包詳細資訊”複選框

- 檢查最新版本的 SDK 和 NDK,然後按“確定”
- 確保您的裝置支援所選的 SDK 版本
- 安裝構建所需的所有軟體包
sudo apt install git cmake ninja-build openjdk-17-jdk openjdk-17-jre
- 其餘必需的軟體包是依賴項,應該會自動安裝
檢查 OpenCV 示例
- 從官方 Github 釋出頁面或 SourceForge 下載 Android SDK 的 OpenCV。
- 使用您的作業系統工具提取 zip 存檔。
- 在 Android Studio 中開啟專案
<YOUR_OPENCV_BUILD_FOLDER>/OpenCV-android-sdk/samples。
- 連線您的裝置
- 除錯應該在裝置上啟用,您可以在網路上找到有關它的說明
- 或者,您可以使用 Android Studio 附帶的虛擬裝置

- 從下拉選單中選擇一個示例(例如,
15-puzzle)並執行它。
設定裝置以進行測試和除錯
通常,上面的方法可以按預期工作,但在某些情況下,必須執行其他操作。在本節中,我們將介紹一些案例。
Windows 主機
如果您有 Windows 10 或更高版本,則無需執行其他操作即可連線手機並在其上執行示例。但是,較早的 Windows 版本需要更長的過程
- 在 Android 裝置上啟用 USB 除錯(透過“設定”選單)。
- 使用 USB 資料線將 Android 裝置連線到您的 PC。
- 轉到“開始”選單並右鍵單擊“計算機”。在上下文選單中選擇“管理”。可能會要求您提供管理許可權。
- 在左側窗格中選擇“裝置管理器”,然後在列表中找到一個未知裝置。您可以嘗試拔下它然後再插回去,以檢查列表中是否顯示了您的確切裝置。
- 嘗試安裝 Google USB 驅動程式,無需任何修改:右鍵單擊未知裝置,選擇“屬性”選單項 –>“詳細資訊”選項卡 –>“更新驅動程式”按鈕。
- 選擇“瀏覽計算機以查詢驅動程式軟體”。
- 指定
<Android SDK folder>/extras/google/usb_driver/ 資料夾的路徑。
- 如果您收到安裝未經確認的驅動程式的提示並報告成功 - 您已完成 USB 驅動程式安裝。
- 否則(遇到如下所示的故障),請按照以下步驟操作。
- 再次右鍵單擊未知裝置,選擇“屬性”–>“詳細資訊”–>“硬體 ID”,然後複製類似
USB\VID_XXXX&PID_XXXX&MI_XX 的行。
- 現在開啟檔案
<Android SDK folder>/extras/google/usb_driver/android_winusb.inf。根據您的主機系統架構選擇 Google.NTx86 或 Google.NTamd64 部分。
- 應該有一個與您的裝置類似的現有記錄,您需要手動新增一個。
- 儲存
android_winusb.inf 檔案,然後再次嘗試安裝 USB 驅動程式。
- 這次安裝應該成功。
- 現在,未知裝置被識別為 Android 手機。
- 可以透過 adb devices 命令在控制檯中驗證成功的裝置 USB 連線。
- 現在,在 Eclipse 中轉到“執行”->“執行/除錯”以在常規或除錯模式下執行您的應用程式。“裝置選擇器”將讓您在裝置之間進行選擇。
Linux 主機
雖然最新的 Ubuntu 版本可以很好地與連線的 Android 裝置配合使用,但在較舊的版本上可能會出現問題。但是,大多數問題都可以輕鬆修復。您必須建立一個新的 **/etc/udev/rules.d/51-android.rules** 配置檔案,其中包含有關您的 Android 裝置的資訊。您可能會發現一些供應商 ID 這裡或執行 lsusb 命令以檢視插入的 Android 裝置的 VendorID。以下是 LG 裝置的此類檔案的示例
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"
然後重新啟動您的 adb 伺服器(最好重新啟動系統),插入您的 Android 裝置並執行 adb devices 命令。您將看到連線的裝置列表
savuor@rostislav-laptop:~/Android/Sdk/platform-tools$ ./adb devices
連線的裝置列表
R58MB40Q3VP 裝置
savuor@rostislav-laptop:~/Android/Sdk/platform-tools$
Mac OS 主機
無需執行任何操作,只需透過 USB 連線您的裝置並執行 adb devices 以檢查連線。
下一步
現在,您已經設定並配置了 OpenCV4Adroid SDK 例項,您可能想繼續在您自己的應用程式中使用 OpenCV。您可以在單獨的 使用 OpenCV 進行 Android 開發 教程中學習如何做到這一點。