Android Studio for Platform (ASfP) 是开发 Android 平台(包括 Android Automotive 操作系统 (AAOS) 软件定义汽车 (SDV) 项目)的推荐集成 开发环境 (IDE)。ASfP 提供了一套丰富的工具,用于代码编辑、构建、调试和测试,包括:
- AI 赋能的辅助功能 (Gemini)
- Rust、C 或 C++、Java 语言支持
- 适用于 AAOS SDV 开发的实用集成(例如,Cuttlefish 模拟器支持和 VSIDL 语言支持)
安装 Android Studio for Platform
如需安装 ASfP,请执行以下操作:
选择最适合您需求的版本:
- 稳定版 :最新正式版,推荐大多数用户使用
- Canary 版 :抢先体验版,包含最新功能,但可能不太稳定
按照下载页面上提供的安装说明进行操作。
设置 AAOS SDV 项目
如需设置 AAOS SDV 项目,请执行以下操作:
验证您是否有权访问 AAOS SDV 源代码库,并且已初始化并同步本地检出。如需详细了解如何访问源代码和初始化 代码库,请参阅下载、构建和 运行。
启动 Android Studio for Platform。
如果您是初次使用,请按照设置向导自定义开发环境。
创建一个新项目:
- 如果您未打开任何项目,请在欢迎屏幕上点击新建 。
- 如果您已打开项目,请点击打开 ,或从菜单中选择 ASfP > 项目 > 导入 ASfP 项目 。
在向导中填写项目配置详细信息:
代码库检出 :指定本地 AAOS SDV 源代码检出根目录的绝对路径(例如,
/path/to/sdv_source)。lunch 目标 :输入适用于在 Cuttlefish 上进行 AAOS SDV 开发的相应 lunch 目标,例如
sdv_core_cf-trunk_staging-userdebug。如需了解 更多可用目标,请参阅选择目标。项目来源 :列出您要添加到项目中的初始目录或模块,或点击文件夹图标以打开文件系统浏览器来选择目录。选择的目录或模块过多会影响 IDE 的索引和搜索性能,因此请仅添加相关目录或模块。
语言支持 :选择 Rust 和 C++ 作为受支持的语言。
项目名称 :为您的项目提供一个描述性名称。
完成设置 :点击完成 。ASfP 会创建项目结构和
.asfp-project配置文件。
ASfP 会自动启动初始同步过程。ASfP 会分析您的源代码,使用 Soong 构建系统解析依赖项,并构建代码智能功能所需的信息。这可能需要相当长的时间,尤其是在首次同步时。
自定义项目
您可以在项目根目录中使用 .asfp-project 文件进行进一步自定义。
您可以编辑此文件以执行以下操作:
- 添加或移除目录和模块。
- 启用对其他语言(例如 C++ 或 Rust)的支持(Java 和 Kotlin 是默认语言)。
- 配置构建标志。
如需更改配置文件,请依次选择 ASfP > 项目 > 打开配置 。如需了解可用的配置选项,请参阅 项目概览。
调试和测试
如需在 ASfP 中调试和测试代码,请参阅 调试平台代码 和 使用 atest 测试平台代码。
可用集成
ASfP 附带了一些适用于 AAOS SDV 开发的实用集成,包括对 Cuttlefish 和 VSIDL 中的语言服务器协议 (LSP) 的支持。
Cuttlefish 插件
借助 Cuttlefish 插件,用户可以直接从 ASfP 创建和运行本地 Cuttlefish 设备。
安装插件
Cuttlefish 插件已预安装在 ASfP 中,无需设置。该插件需要在设备上安装 Cuttlefish 工具。如果需要,请按照 说明安装 Cuttlefish 工具。
创建 Cuttlefish 设备
如需创建新设备,请执行以下操作:
打开“设备管理器”工具窗口,方法是依次选择工具 > 设备管理器 ,或者点击右侧面板上的正在运行的设备 图标(如果设备管理器已固定在那里)。
点击 + 图标,然后选择 Create Cuttlefish Device 。
配置新的 Cuttlefish 设备。您可以通过两种方式创建 Cuttlefish 设备:
从本地 Android 源代码树检出:
- 选择与启动 配置对应的已构建目标的路径(如需了解详情,请参阅选择目标)。
- 选择主机路径。
- (可选)选择可用的设备配置,或选择无 以使用默认配置。
从规范配置(使用此选项可从单个配置创建多个设备):
- 选择设备配置的路径。
- (可选)提供任何替换标志以替换配置选项。
等待 Cuttlefish 设备创建完毕并添加到设备管理器中正在运行的设备列表中。
从正在运行的设备 菜单中选择 Cuttlefish 设备。
您可以通过点击设备管理器中设备旁边的停止或启动图标来启动或停止单个 Cuttlefish 设备。
访问 Cuttlefish 设备页面
Cuttlefish 插件有一个工具窗口,用于显示 Cuttlefish Device 页面,您可以在其中访问屏幕镜像功能。
如需打开 Cuttlefish 工具窗口,请点击左侧面板上的 ... 图标,然后选择 Cuttlefish 。或者,您也可以在帮助 > 查找操作 菜单项中搜索 Cuttlefish 。
VSIDL 中的语言服务器协议
在 VSIDL 中,LSP 提供了一套丰富的 IDE 功能,可在您在 ASfP 中处理 VSIDL 文件(扩展名为 .vsidl)时改进开发工作流。
语义语法突出显示
LSP 服务器为 VSIDL 文件提供语法突出显示。
功能 :突出显示关键字(
service_bundle、publisher)、字段(package:、message:)和字面量。试用方法 :打开任何 VSIDL 文件。该文件会采用颜色编码,以区分结构关键字和用户定义的标识符。
实时诊断(错误和警告)
LSP 服务器会持续验证文件并实时报告问题。
功能 :检测整个目录及其依赖项中的语法错误、无效类型引用和其他错误。
试用方法 :在消息名称中引入拼写错误(例如,
TiiirePressure)。拼写错误的字词下方会显示一条红色波浪线。将鼠标悬停在该字词上可查看错误消息,或在 IDE 底部的问题 工具窗口中查看完整列表。
导航和智能
您可以使用导航和智能功能来探索 VSIDL 目录不同部分之间的关系。
自动补全:按 Ctrl+空格键 可查看 关键字、protobuf 消息、RPC 服务、主题和渠道的建议。关键字建议直接在补全菜单中包含简短且有用的用途说明。LSP 还为
publisher或server等块提供智能代码段,以加快您的工作流程。转到定义 :按住 Ctrl 并点击(或按 Ctrl+B )消息、服务、主题或渠道引用,即可直接跳转到其源代码定义,即使它位于不同的 VSIDL 或 protobuf 文件中也是如此。
查找引用 :将光标放在
publisher、subscriber、server或client关键字上,然后按 Alt+Shift+F7 查找所有出现的位置。悬停信息 :将光标移至类型或属性(或按 Ctrl+Q )。系统会显示一个工具提示,其中显示其文档注释(如果有)。
结构功能
LSP 服务器可帮助您管理和浏览大型 VSIDL 文件的结构:
文档符号(大纲) :按 Ctrl+F12 可显示快速导航工具提示,或打开结构 工具窗口 (Ctrl+Alt+7) 以查看文件中所有软件包和单元的树状视图。
折叠范围 :点击装订线(行号旁边)中的 > 或 V 图标,可折叠或展开大型逻辑块(如
service_bundle或映射定义)。文档格式设置 :按 Ctrl+Alt+L 可自动重新设置文件格式,从而创建一致的缩进和间距。