使用 Android Studio#
Android Studio 是一个基于智能的安卓应用开发集成开发环境(IDE)。它将您的代码编译成一个apk,然后安装到机器人控制器上:Control Hub 或合规的安卓手机。
下载 Android Studio#
如果您已经下载了Android Studio,则可以继续下一步,即设置 设置 SDK 。
下载和设置 Android Studio 的步骤如下:
检查确保您的系统满足 必要要求
从 https://developer.android.com/studio/index.html 安装 最新 版本的 Android Studio
运行可执行文件,按照设置向导操作,并使用推荐的所有开发工具包
设置SDK#
现在您已经安装了 Android Studio,您需要使用当前赛季的 SDK(软件开发工具包)来创建团队代码。
下载 SDK#
SDK 每个赛季都会在 GitHub 存储库中公开发布。当前赛季的 SDK 可在 FtcRobotController 存储库中找到。
下载 ZIP#
使用 GitHub Desktop#
在浏览器中打开 SDK 资源库 。
点击绿色的 “代码 “按钮,然后选择 “用 GitHub Desktop打开”。
克隆项目。
从命令行#
在所需的资源位置打开终端(可能是bash)。
使用
$ git clone https://github.com/FIRST-Tech-Challenge/FtcRobotController.git
在 Android Studio 上打开 SDK#
打开 Android Studio。如果打开了另一个项目,请将其关闭。
检查更新。单击“配置”下拉列表并选择“检查更新”。如果您没有最新版本,请下载更新。
选择 “Import Project.” 导航到您计算机上保存SDK的位置。选择具有Android徽标的目录。
更改为项目视图。左上角应该有一个下拉列表,允许您更改查看项目的方式。
等待 Gradle 完成构建。默认情况下,该指示器应位于窗口底部。
布局#
Android Studio 乍一看很吓人,但要正确使用它,只需具备几个功能。
创建类#
在项目视图中,首先要注意的是下拉菜单中的项目名称。下拉后,你会看到所有的 Gradle 文件和目录。导航到 TeamCode 文件夹。在 teamcode 文件夹中,你会看到一个 org.firstinspires.ftc.teamcode
包。
这是您为机器人创建代码的地方。要创建一个新的Java类,右键单击包,选择新建,然后选择“Java Class.”
或者,如果您想为组织目的创建子文件夹,您可以选择“Package”选项。然后,您可以在这些包中创建类。
终端和 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” 下拉菜单轻松重建项目。
要从一个干净的项目中重建,请按下 “清除项目 “选项。这将删除项目中的旧编译文件,以便完全重建项目。它会清除任何生产文件、生成文件等。这对于确保在构建代码时不会破坏任何旧的工件非常有用。下一次构建项目时,项目将从头开始,不会再引用旧的编译文件。要重建项目,请按重建选项。
失效和重启#
有时在移动、重构等操作后会出现错误。第一步是尝试清理项目并重建。如果还不行,可能是 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#
确保设备已启用 USB 调试,并处于开发者模式。
确保已安装 ADB。如果没有,请按照 此链接 中的说明进行操作。
备注
您可以使用 adb logcat
命令通过 ADB 使用 logcat。这对调试非常有用,因为它允许你以无线方式查看日志,从而节省时间。请记住,logcat 是调试软件的*佳方法。
将 ADB 添加到 PATH#
在 PATH 中添加变量:
如果要从任何目录使用 ADB,请将其添加到 PATH。按照在线教程添加到 PATH,并将 PATH 设为 platform-tools
目录。这样,你就可以在系统的任何地方运行 ADB 命令了。
无线连接手机#
将机器人控制器手机插入电脑。
在
platform-tools
目录下运行adb devices
命令,查看手机是否显示。运行
adb usb
,然后运行adb tcpip 5555
。然后就可以拔掉电话线了。连接到设备托管或使用的同一 WiFi 网络。手机创建的 WiFi 直接网络应称为 “TEAMNUMBER-RC “或其派生词。如果每个团队有多个设备,则可能包含额外的字母。有关网络命名方案的更多详情,请参阅 Game Manual Part 1 中的 RS01。
使用
adb connect 192.168.49.1:5555
连接手机。如果不起作用,请重新检查电话的 IP 地址,如果不同,请使用该 IP 地址再试一次。
无线连接控制集线器#
连接到控制中心托管的 WiFi 热点。热点名称应为 “TEAMNUMBER-RC “或由此衍生的一些小名称。如果每个团队有多个设备,则可以包含额外的字母。有关网络命名方案的更多详情,请参阅 Game Manual Part 1 中的 RS01。
连接到控制集线器的网络后,只需使用
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 管理器。
接受许可证#
如果收到警告,抱怨许可证不被接受,请按照以下步骤操作:
进入 SDK 管理器,在 SDK 平台下。
选择具有警告指定的 API 级别的版本。
点击 “应用”,等待组件安装。
完成后,按 “完成”,然后按 “好”。等待 Android Studio 索引。
重新启动 Android Studio。
安装 SDK 工具#
要安装任何 SDK 工具(如平台工具或构建工具),请打开 SDK 管理器并转到 SDK 工具。选择要安装的工具,然后按照安装 SDK 平台的相同方法进行安装。
版本控制#
版本控制是一种非常有用的工具。它允许查看(和还原)以前版本的代码、方便协作、拥有可以合并在一起的多个版本的代码等。
就版本控制系统而言,我们强烈推荐使用 git,尤其是与 Android Studio 内置的 VCS 工具或 Github Desktop 等图形用户界面配合使用时。虽然 git 教程不在 Game Manual 0 的范围之内,但这里有一些 git 资源: