OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
Android 开发入门

上一个教程: Clojure OpenCV 开发入门
下一个教程: 使用 OpenCV 进行 Android 开发

原始作者Rostislav Vasilikhin
兼容性OpenCV >= 4.0

本指南旨在帮助您学习 Android 开发基础知识并快速设置您的工作环境。它已在 Ubuntu 22.04 和 Windows 10 上进行了测试。

如果在彻底遵循这些步骤后遇到任何错误,请随时通过 OpenCV 论坛与我们联系。我们将尽力帮助您。

前言

Android 是一个基于 Linux 的开源移动操作系统,由 Google 领导的开放手机联盟开发。有关一般详细信息,请参阅 Android 主页

Android 开发与其他平台的开发有很大不同。因此,在开始 Android 编程之前,我们建议您确保熟悉以下关键主题

  1. Java 编程语言是 Android OS 的主要开发技术。此外,您还可以找到 Oracle Java 文档
  2. Java 本地接口 (JNI) 是一种在 Java 虚拟机中运行本地代码的技术。此外,您还可以找到 Oracle JNI 文档
  3. Android Activity 及其生命周期,这是一个重要的 Android API 类。
  4. OpenCV 开发肯定需要一些 Android Camera 规范知识。

手动设置 Android 开发环境

在本教程中,我们将使用官方 Android Studio IDE 和一组其他免费提供的工具。

获取工具和依赖项

以下是如何获得一个可以工作的环境

  1. 下载并安装 Android Studio
    • Ubuntu
      1. 下载 Android Studio:https://developer.android.com.cn/studio
      2. 提取 tar.gz 存档
      3. 按照 Install-Linux-tar.txt 中的说明进行操作:在终端中打开 android-studio/bin 文件夹并运行 ./studio.sh
      4. 通过 GUI 执行标准安装
      5. 您可以选择通过单击菜单Tools -> Create desktop entry在桌面上添加快捷方式以进行快速访问。该菜单在创建或打开任何项目后出现。
    • Windows:只需从官方网站下载 Android Studio 并运行安装程序即可。
  2. 安装最新的 Android SDK 和 NDK

    1. 在 Android Studio 中打开 SDK 管理器(Customize -> All Settings -> Languages & Frameworks -> Android SDK
    2. 启用“显示软件包详细信息”复选框
    1. 检查最新版本的 SDK 和 NDK,然后按“确定”
    2. 确保您的设备支持所选的 SDK 版本
  3. 安装构建所需的所有软件包
    • sudo apt install git cmake ninja-build openjdk-17-jdk openjdk-17-jre
    • 其余必需的软件包是依赖项,应该会自动安装

检查 OpenCV 示例

  1. 从官方 Github 发布页面SourceForge 下载 Android SDK 的 OpenCV。
  2. 使用您的操作系统工具提取 zip 存档。
  3. 在 Android Studio 中打开项目 <YOUR_OPENCV_BUILD_FOLDER>/OpenCV-android-sdk/samples
  4. 连接您的设备
    • 调试应该在设备上启用,您可以在网络上找到有关它的说明
    • 或者,您可以使用 Android Studio 附带的虚拟设备
  1. 从下拉菜单中选择一个示例(例如,15-puzzle)并运行它。

设置设备以进行测试和调试

通常,上面的方法可以按预期工作,但在某些情况下,必须执行其他操作。在本节中,我们将介绍一些案例。

Windows 主机

如果您有 Windows 10 或更高版本,则无需执行其他操作即可连接手机并在其上运行示例。但是,较早的 Windows 版本需要更长的过程

  1. 在 Android 设备上启用 USB 调试(通过“设置”菜单)。
  2. 使用 USB 数据线将 Android 设备连接到您的 PC。
  3. 转到“开始”菜单并右键单击“计算机”。在上下文菜单中选择“管理”。可能会要求您提供管理权限。
  4. 在左侧窗格中选择“设备管理器”,然后在列表中找到一个未知设备。您可以尝试拔下它然后再插回去,以检查列表中是否显示了您的确切设备。
  1. 尝试安装 Google USB 驱动程序,无需任何修改:右键单击未知设备,选择“属性”菜单项 –>“详细信息”选项卡 –>“更新驱动程序”按钮。
  1. 选择“浏览计算机以查找驱动程序软件”。
  1. 指定 <Android SDK folder>/extras/google/usb_driver/ 文件夹的路径。
  1. 如果您收到安装未经确认的驱动程序的提示并报告成功 - 您已完成 USB 驱动程序安装。
  1. 否则(遇到如下所示的故障),请按照以下步骤操作。
  1. 再次右键单击未知设备,选择“属性”–>“详细信息”–>“硬件 ID”,然后复制类似 USB\VID_XXXX&PID_XXXX&MI_XX 的行。
  1. 现在打开文件 <Android SDK folder>/extras/google/usb_driver/android_winusb.inf。根据您的主机系统架构选择 Google.NTx86 或 Google.NTamd64 部分。
  1. 应该有一个与您的设备类似的现有记录,您需要手动添加一个。
  1. 保存 android_winusb.inf 文件,然后再次尝试安装 USB 驱动程序。
  1. 这次安装应该成功。
  1. 现在,未知设备被识别为 Android 手机。
  1. 可以通过 adb devices 命令在控制台中验证成功的设备 USB 连接。
  1. 现在,在 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 开发 教程中学习如何做到这一点。