OpenCV 4.11.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 操作系统的主要开发技术。您还可以发现 Oracle 的 Java 文档 很有用。
  2. Java 本地接口 (JNI),它是在 Java 虚拟机中运行原生代码的技术。您还可以发现 Oracle 的 JNI 文档 很有用。
  3. Android Activity 及其生命周期,这是 Android API 中一个重要的类。
  4. OpenCV 开发肯定需要了解 Android 相机 的具体细节。

手动设置 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. 您可以选择通过单击菜单 *工具 -> 创建桌面条目* 在桌面上添加快捷方式以方便快速访问。此菜单在创建或打开任何项目后出现。
    • Windows:只需从官方网站下载 Android Studio 并运行安装程序。
  2. 安装最新的 Android SDK 和 NDK

    1. 在 Android Studio 中打开 SDK 管理器(*自定义 -> 所有设置 -> 语言和框架 -> 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 中打开项目 `/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. 指定路径到`/extras/google/usb_driver/`文件夹。
  1. 如果您收到安装未验证驱动程序的提示并报告成功 - 您已完成 USB 驱动程序的安装。
  1. 否则(出现如下所示的错误),请按照以下步骤操作。
  1. 再次右键单击未知设备,选择“属性”->“详细信息”->“硬件 ID”,然后复制类似于`USB\VID_XXXX&PID_XXXX&MI_XX`的行。
  1. 现在打开文件`/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 设备的供应商 ID。以下是一个针对 LG 设备的此类文件的示例:

SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"

然后重新启动您的 adb 服务器(最好重新启动系统),插入您的 Android 设备并执行 adb devices 命令。您将看到已连接设备的列表

savuor@rostislav-laptop:~/Android/Sdk/platform-tools$ ./adb devices
List of devices attached
R58MB40Q3VP device
savuor@rostislav-laptop:~/Android/Sdk/platform-tools$

Mac OS 主机计算机

无需执行任何操作,只需通过 USB 连接您的设备并运行 adb devices 以检查连接。

下一步

现在,当您已经设置并配置了 OpenCV4Android SDK 实例后,您可能希望在自己的应用程序中使用 OpenCV。您可以在单独的Android OpenCV 开发 教程中学习如何操作。