使用 Android Studio#

Android Studio 是一个基于智能的安卓应用开发集成开发环境(IDE)。它将您的代码编译成一个apk,然后安装到机器人控制器上:Control Hub 或合规的安卓手机。

下载 Android Studio#

如果您已经下载了Android Studio,则可以继续下一步,即设置 设置 SDK

下载和设置 Android Studio 的步骤如下:

  1. 检查确保您的系统满足 必要要求

  2. https://developer.android.com/studio/index.html 安装 最新 版本的 Android Studio

  3. 运行可执行文件,按照设置向导操作,并使用推荐的所有开发工具包

设置SDK#

现在您已经安装了 Android Studio,您需要使用当前赛季的 SDK(软件开发工具包)来创建团队代码。

下载 SDK#

SDK 每个赛季都会在 GitHub 存储库中公开发布。当前赛季的 SDK 可在 FtcRobotController 存储库中找到。

下载 ZIP#

  1. 进入存储库后,点击绿色的 “代码 “按钮。然后选择 “下载 ZIP”。

    点击下载 ZIP 选项
  2. 然后,将其保存到电脑中想要的位置。

    ZIP 文件的名称应为 FtcRobotController-master
  3. 保存后,解压缩 ZIP 中的内容并将其放置到所需位置。您应该能在文件夹中看到 SDK 的内容。

使用 GitHub Desktop#

  1. 安装 GitHub Desktop

  2. 在浏览器中打开 SDK 资源库

  3. 点击绿色的 “代码 “按钮,然后选择 “用 GitHub Desktop打开”。

    点击 "用 GitHub Desktop打开" 选项
  4. 克隆项目。

    将版本库克隆到资源文件夹中

从命令行#

  1. 安装 git

  2. 在所需的资源位置打开终端(可能是bash)。

  3. 使用 $ git clone https://github.com/FIRST-Tech-Challenge/FtcRobotController.git

在 Android Studio 上打开 SDK#

  1. 打开 Android Studio。如果打开了另一个项目,请将其关闭。

    屏幕上应出现配置设置和导入项目的选项
  2. 检查更新。单击“配置”下拉列表并选择“检查更新”。如果您没有最新版本,请下载更新。

    如果没有新的更新,它就会显示您已安装了最新版本
  3. 选择 “Import Project.” 导航到您计算机上保存SDK的位置。选择具有Android徽标的目录。

    只选择带有 Android 徽标的文件夹
  4. 更改为项目视图。左上角应该有一个下拉列表,允许您更改查看项目的方式。

    更改为项目视图
  5. 等待 Gradle 完成构建。默认情况下,该指示器应位于窗口底部。

    正在进行的 Gradle 构建

布局#

Android Studio 乍一看很吓人,但要正确使用它,只需具备几个功能。

Android Studio 布局

创建类#

在项目视图中,首先要注意的是下拉菜单中的项目名称。下拉后,你会看到所有的 Gradle 文件和目录。导航到 TeamCode 文件夹。在 teamcode 文件夹中,你会看到一个 org.firstinspires.ftc.teamcode 包。

TeamCode > src > main > java > org.firstinspires.ftc.teamcode

这是您为机器人创建代码的地方。要创建一个新的Java类,右键单击包,选择新建,然后选择“Java Class.”

New > Java Class

或者,如果您想为组织目的创建子文件夹,您可以选择“Package”选项。然后,您可以在这些包中创建类。

终端和 Logcat#

在程序左下角附近,你会发现本地终端和 logcat 的标签。这些都是处理程序的有用工具。

左下角附近的终端和 logcat 选项卡

有关使用 logcat 的一些有用信息,请参见 这里

备注

你可以通过本地终端的命令行来构建你的程序。点击终端标签,然后输入 gradlew :TeamCode:clean :TeamCode:build。这将删除之前编译的文件并构建你的 TeamCode 模块。

安装程序#

要将程序安装到机器人控制器上,可使用应用程序窗口右上方的播放按钮。

设备下拉菜单旁的播放按钮

在其旁边,您会看到一个设备下拉菜单。将机器人控制器连接到电脑(使用正确的电缆)后,设备应该会在一段时间后出现在下拉菜单中。然后,点击播放按钮,程序就会安装到设备上。

小技巧

有时应用程序会无法在机器人控制器上启动,导致驱动站处于断开状态。如果出现这种情况,您可以打开终端并运行

adb shell am start -n com.qualcomm.ftcrobotcontroller/org.firstinspires.ftc.robotcontroller.internal.PermissionValidatorWrapper

远程启动机器人控制器应用程序。

如果在此过程中遇到任何问题,请参阅官方 REV 文档 。REV 网站上的一些有用网页如下:

如果你仍然卡住了,可以在 FTC|reg| Discord 寻求帮助。

Gradle#

Gradle 是一款用于软件开发的构建工具。在 FTC 中,它用于构建和管理项目的依赖关系。

当您更新任何 Gradle 文件时,都需要执行 Gradle 同步,将您的项目与更改同步并重建。在您的 build.common.gradle 中,您可以找到关于如何构建机器人控制器应用程序的信息。

重建#

您可以使用 “Build” 下拉菜单轻松重建项目。

屏幕顶部的 "Build" 下拉菜单

要从一个干净的项目中重建,请按下 “清除项目 “选项。这将删除项目中的旧编译文件,以便完全重建项目。它会清除任何生产文件、生成文件等。这对于确保在构建代码时不会破坏任何旧的工件非常有用。下一次构建项目时,项目将从头开始,不会再引用旧的编译文件。要重建项目,请按重建选项。

失效和重启#

有时在移动、重构等操作后会出现错误。第一步是尝试清理项目并重建。如果还不行,可能是 Android Studio 混淆了项目结构,因为它缓存了项目结构信息。

修复这些错误的最常见方法是失效并重启。在文件下拉菜单中会有一个选项,然后选择 “无效并重启”。这将清除缓存并重启 Android Studio,然后执行 Gradle 重建。

添加依赖项#

如果您想在项目中添加依赖项,可以在 TeamCode 目录中的 build.gradle 文件中添加。

文件底部应该有一个依赖项块。

// Include common definitions from above.
apply from: '../build.common.gradle'
apply from: '../build.dependencies.gradle'

dependencies {
     implementation project(':FtcRobotController')
     annotationProcessor files('lib/OpModeAnnotationProcessor.jar')
}

有些依赖项需要修改其他 Gradle 文件。请务必阅读要添加的依赖项的安装说明。

然后,在依赖关系块中添加一行,以实现依赖关系。一般使用 implementation 'com.package.name'

dependencies {
    implementation project(':FtcRobotController')
    annotationProcessor files('lib/OpModeAnnotationProcessor.jar')

    implementation 'com.package.name:name:version'
}

有关正确的软件包名称和版本,请参阅您使用的任何库的说明。

最后,执行 Gradle 同步。

升级到 Java 8#

默认情况下,SDK 的 Java 版本设置为 7。也支持 Java 8。如果您想使用 lambdas 或泛型等功能,可能需要将 Java 版本从 7 升级到 8。某些库可能也要求您更改 Java 版本。

要升级到 Java 8,请浏览您的 build.common.gradle 文件。向下滚动,直到找到此块:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

7 改为 8,就像这样:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

然后,执行 Gradle 同步。

安卓调试桥接器#

备注

在 macOS、Linux 或使用 PowerShell 时,如果您在 platform-tools 目录中,则必须将以 adb 开头的命令更改为以 ./adb 开头。

Logcat#

Logcat 对于在运行时调试代码问题或找出出错原因非常有用。例如,如果您的应用程序活动崩溃,而您在日志中看到 5000 行相同的错误,那么您的代码中可能存在无限递归!

要使用 logcat,请插入设备(或通过 ADB 连接)。然后,选择要查看日志的应用程序。您的窗口应该如下所示。

带有错误信息的选定设备和应用程序

如果您遇到不明白的问题,可以截取日志截图或选择并复制错误,然后在 FTC discord 提问。

无线通信#

安卓调试桥接器(ADB)是一种命令行工具,可实现机器人控制器(手机或控制中心)之间的无线通信。

ADB 应与 Android Studio 中的平台工具一起提供。导航到项目根目录下的 local.properties 文件,你应该能看到电脑上 Android SDK 的路径,例如 C:\Users\Woodie\AppData\Local\Android\Sdk 。然后导航到 platform-tools ,一个名为 adb 的应用程序就会出现在那里。要使用它,请打开 CLI(如 PowerShell 或命令提示符)并运行 adb devices./adb devices

有关 ADB 的更多信息,请访问 开发者页面

设置 ADB#

  1. 确保设备已启用 USB 调试,并处于开发者模式。

  2. 确保已安装 ADB。如果没有,请按照 此链接 中的说明进行操作。

备注

您可以使用 adb logcat 命令通过 ADB 使用 logcat。这对调试非常有用,因为它允许你以无线方式查看日志,从而节省时间。请记住,logcat 是调试软件的*佳方法。

将 ADB 添加到 PATH#

在 PATH 中添加变量:

如果要从任何目录使用 ADB,请将其添加到 PATH。按照在线教程添加到 PATH,并将 PATH 设为 platform-tools 目录。这样,你就可以在系统的任何地方运行 ADB 命令了。

无线连接手机#

  1. 将机器人控制器手机插入电脑。

  2. platform-tools 目录下运行 adb devices 命令,查看手机是否显示。

  3. 运行 adb usb,然后运行 adb tcpip 5555。然后就可以拔掉电话线了。

  4. 连接到设备托管或使用的同一 WiFi 网络。手机创建的 WiFi 直接网络应称为 “TEAMNUMBER-RC “或其派生词。如果每个团队有多个设备,则可能包含额外的字母。有关网络命名方案的更多详情,请参阅 Game Manual Part 1 中的 RS01。

  5. 使用 adb connect 192.168.49.1:5555 连接手机。如果不起作用,请重新检查电话的 IP 地址,如果不同,请使用该 IP 地址再试一次。

无线连接控制集线器#

  1. 连接到控制中心托管的 WiFi 热点。热点名称应为 “TEAMNUMBER-RC “或由此衍生的一些小名称。如果每个团队有多个设备,则可以包含额外的字母。有关网络命名方案的更多详情,请参阅 Game Manual Part 1 中的 RS01。

  2. 连接到控制集线器的网络后,只需使用 adb connect 192.168.43.1:5555 连接即可。

建立连接后,它就会出现在 Android Studio 的设备下拉菜单中。

无线配置#

您可以像往常一样在驱动站或机器人控制器上设置配置。不过,您也可以在 TeamCode/src/main/res/xml 中创建有效的配置 XML 文件。您可以在 /sdcard/FIRST 文件夹中找到与配置文件同名的 XML 文件。

要以无线方式获取这些 XML 文件,可以使用 adb pull /sdcard/FIRST/config.xml /fully/qualified/path/res/xml

如果 res/xml 中包含有效的配置 XML 文件,则在将机器人推送至机器人控制器或控制中心时,该文件将显示为可用于机器人的配置。

SDK 管理器#

您可以在 Android Studio 的右上角找到 SDK 管理器。

带向下箭头的方框

接受许可证#

如果收到警告,抱怨许可证不被接受,请按照以下步骤操作:

  1. 进入 SDK 管理器,在 SDK 平台下。

  2. 选择具有警告指定的 API 级别的版本。

  3. 点击 “应用”,等待组件安装。

  4. 完成后,按 “完成”,然后按 “好”。等待 Android Studio 索引。

  5. 重新启动 Android Studio。

安装 SDK 工具#

要安装任何 SDK 工具(如平台工具或构建工具),请打开 SDK 管理器并转到 SDK 工具。选择要安装的工具,然后按照安装 SDK 平台的相同方法进行安装。

版本控制#

版本控制是一种非常有用的工具。它允许查看(和还原)以前版本的代码、方便协作、拥有可以合并在一起的多个版本的代码等。

就版本控制系统而言,我们强烈推荐使用 git,尤其是与 Android Studio 内置的 VCS 工具或 Github Desktop 等图形用户界面配合使用时。虽然 git 教程不在 Game Manual 0 的范围之内,但这里有一些 git 资源: