当前位置: 首页 > web >正文

Android 开发简介

前言

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

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

  1. Java 编程语言是 Android 操作系统的主要开发技术。此外,您还可以找到有关 Java 的 Oracle 文档。
  2. Java 本机接口 (JNI) 是一种在 Java 虚拟机中运行本机代码的技术。此外,您还可以找到有关 JNI 的 Oracle 文档。
  3. Android Activity 及其生命周期,这是一个必不可少的 Android API 类。
  4. OpenCV 开发肯定需要对 Android Camera 的细节有一定的了解。

Android 开发的手动环境设置

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

获取工具和依赖项

以下是如何获得一个准备好工作的环境:

  1. 下载并安装 Android Studio:
    • Ubuntu的:
      1. 下载 Android Studio:https://developer.android.com/studio
      2. 提取 tar.gz 存档
      3. 按照中的说明进行操作:在终端中打开文件夹并运行Install-Linux-tar.txtandroid-studio/bin./studio.sh
      4. 通过 GUI 执行标准安装
      5. 或者,您可以通过单击菜单“工具”-“创建桌面条目”在桌面上添加快捷方式>以便快速访问。创建或打开任何项目后,将显示该菜单。
    • Windows:只需从官方网站下载 Android Studio 并运行安装程序即可。
  2. 安装全新的 Android SDK 和 NDK:
    1. 在 Android Studio 中打开 SDK 管理器(自定义 -> 所有设置 -> 语言和框架 -> Android SDK)
    2. 启用“显示包详细信息”复选框

      sdk_ndk_manager.png

    3. 检查最新版本的 SDK 和 NDK,然后按 OK
    4. 确保您的设备支持所选的 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. 连接您的设备
    • 应在设备上启用调试,您可以在 Web 上找到有关它的说明
    • 或者,您可以使用 Android Studio 附带的虚拟设备

      choose_device.png

  5. 从下拉菜单中选择一个示例(例如,),然后运行它。15-puzzle

用于测试和调试的设置设备

通常,上述配方按预期工作,但在某些情况下,必须执行其他操作。在本节中,我们将介绍一些情况。

Windows 主机

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

  1. 在Android设备上启用USB调试(通过“设置”菜单)。
  2. 使用 USB 数据线将 Android 设备连接到您的 PC。
  3. 转到“开始”菜单,然后右键单击“计算机”。在上下文菜单中选择“管理”。系统可能会要求您提供管理权限。
  4. 在左窗格中选择“设备管理器”,然后在列表中查找未知设备。您可以尝试拔下它,然后重新插入,以检查它是否是列表中显示的确切设备。

    usb_device_connect_01.png

  5. 试试你的运气,在不做任何修改的情况下安装谷歌USB驱动程序:右键单击未知设备,选择“属性”菜单项->“详细信息”选项卡-“>”更新驱动程序“按钮。

    usb_device_connect_05.png

  6. 选择浏览计算机以查找驱动程序软件。

    usb_device_connect_06.png

  7. 指定文件夹的路径。<Android SDK folder>/extras/google/usb_driver/

    usb_device_connect_07.png

  8. 如果您收到安装未经验证的驱动程序的提示并报告成功 - 您已完成 USB 驱动程序安装。

    usb_device_connect_08.png

    usb_device_connect_09.png

  9. 否则(如下所示的失败),请按照以下步骤操作。

    usb_device_connect_12.png

  10. 再次右键单击未知设备,选择“属性”->“详细信息”->“硬件 ID”,然后复制类似 的行。USB\VID_XXXX&PID_XXXX&MI_XX

    usb_device_connect_02.png

  11. 现在打开文件 .选择 Google.NTx86 或 Google.NTamd64 部分,具体取决于您的主机系统体系结构。<Android SDK folder>/extras/google/usb_driver/android_winusb.inf

    usb_device_connect_03.png

  12. 您的设备应该有一条与现有记录类似的记录,您需要手动添加一条。

    usb_device_connect_04.png

  13. 保存文件,然后再次尝试安装 USB 驱动程序。android_winusb.inf

    usb_device_connect_05.png

    usb_device_connect_06.png

    usb_device_connect_07.png

  14. 这一次安装应该会成功。

    usb_device_connect_08.png

    usb_device_connect_09.png

  15. 未知设备现在被识别为 Android 手机。

  16. 可以通过 adb devices 命令在控制台中验证设备 USB 连接是否成功。

    usb_device_connect_11.png

  17. 现在,在 Eclipse 中,转到 Run -> Run/Debug 以常规或调试模式运行您的应用程序。设备选择器可让您在设备中进行选择。
Linux 主机

虽然最新的 Ubuntu 版本适用于连接的 Android 设备,但旧版本可能存在问题。但是,它们中的大多数都可以轻松修复。您必须创建一个新的 **/etc/udev/rules.d/51-android.rules** 配置文件,其中包含有关您的 Android 设备的信息。您可以在此处找到一些供应商 ID 或执行 lsusb 命令来查看插入的 Android 设备的 VendorID。以下是LG设备的此类文件的示例:

子系统==“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 开发教程中了解如何执行此操作。

   在线教程

  • 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程
  • 人工智能入门 – 人工智能基础学习。Peter Norvig举办的课程
  • EdX 人工智能 – 此课程讲授人工智能计算机系统设计的基本概念和技术。
  • 人工智能中的计划 – 计划是人工智能系统的基础部分之一。在这个课程中,你将会学习到让机器人执行一系列动作所需要的基本算法。
  • 机器人人工智能 – 这个课程将会教授你实现人工智能的基本方法,包括:概率推算,计划和搜索,本地化,跟踪和控制,全部都是围绕有关机器人设计。
  • 机器学习 – 有指导和无指导情况下的基本机器学习算法
  • 机器学习中的神经网络 – 智能神经网络上的算法和实践经验
  • 斯坦福统计学习

有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

请添加图片描述

人工智能书籍

  • OpenCV(中文版).(布拉德斯基等)
  • OpenCV+3计算机视觉++Python语言实现+第二版
  • OpenCV3编程入门 毛星云编著
  • 数字图像处理_第三版
  • 人工智能:一种现代的方法
  • 深度学习面试宝典
  • 深度学习之PyTorch物体检测实战
  • 吴恩达DeepLearning.ai中文版笔记
  • 计算机视觉中的多视图几何
  • PyTorch-官方推荐教程-英文版
  • 《神经网络与深度学习》(邱锡鹏-20191121)

  • 在这里插入图片描述

第一阶段:零基础入门(3-6个月)

新手应首先通过少而精的学习,看到全景图,建立大局观。 通过完成小实验,建立信心,才能避免“从入门到放弃”的尴尬。因此,第一阶段只推荐4本最必要的书(而且这些书到了第二、三阶段也能继续用),入门以后,在后续学习中再“哪里不会补哪里”即可。

第二阶段:基础进阶(3-6个月)

熟读《机器学习算法的数学解析与Python实现》并动手实践后,你已经对机器学习有了基本的了解,不再是小白了。这时可以开始触类旁通,学习热门技术,加强实践水平。在深入学习的同时,也可以探索自己感兴趣的方向,为求职面试打好基础。

第三阶段:工作应用

这一阶段你已经不再需要引导,只需要一些推荐书目。如果你从入门时就确认了未来的工作方向,可以在第二阶段就提前阅读相关入门书籍(对应“商业落地五大方向”中的前两本),然后再“哪里不会补哪里”。

 有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

在这里插入图片描述

http://www.xdnf.cn/news/11400.html

相关文章:

  • Android教程-从零开始一步一步接入SDK
  • 维纳滤波——Wiener Filter(一些理解)
  • MNA由来
  • Batch(合批)全面讲解(二)
  • RYU入门教程
  • 电脑知识:显卡的四种接口类型介绍
  • PACS系统全景图:软件源码、核心组件、覆盖科室与关键技术解析
  • Point-wise、Pair-wise、List-wise区别
  • 【C++面向对象】C++图书管理系统 (源码)【独一无二】
  • 华为VRP系统简介
  • 基于STM32的NRF24L01 2.4G通讯模块的驱动实验(HAL库)
  • MeeGo的前世今生和诺基亚的何去何从
  • linux中的jobs命令,jobs命令_Linux jobs 命令用法详解:显示Linux中的任务列表及任务状态...
  • sparkling-water的介绍与实践(command line)
  • EPSON RX8010SJ RTC 调试笔记之七, 频率停止检测功能(Frequency Stop Detection Function)和频率输出功能 (FOUT Function)
  • CodeIgniter Composer Installer:简化你的开发流程
  • 数据库相关中间件收录集
  • TCP/IP网络层ip协议实现(lwip)
  • C# 常用的正则表达式
  • 深入了解:Java中BigDecimal比较大小的方法_bigdecimal compareto
  • 红客联盟是什么?红客需要传承!
  • 工作经验总结之C语言关键字的作用、特性和使用方式
  • OCCT基础
  • 高性能内存对象缓存
  • 从零开始学C--4初识操作符
  • 什么是L298N
  • unbuntu 命令汇总
  • FastMCP vs MCP:协议标准与实现框架的协同
  • virtualbox 下载安装
  • 关于 TRTC (实时音视频通话模式)在我司的实践