您可以使用 Android 模拟器测试您的应用在 Android Automotive OS 上的运行情况。
添加系统映像
您需要先通过 Android Studio 中的 SDK 管理器添加系统映像,然后才能创建 Android Automotive OS 虚拟设备。
添加通用系统映像
Android Studio 包含 Android Automotive OS 的通用系统映像,可供您用来测试自己的应用。您在截取要用在 Play 商店中的屏幕截图时,也应使用此通用系统映像。
名称 | API 级别 | 架构 | Play 商店 | Google Automotive App Host |
---|---|---|---|---|
Automotive Intel x86 Atom System Image | 28 | x86 | ✔ | |
Automotive with Play Store Intel x86 Atom System Image | 29 | x86 | ✔ | ✔ |
Automotive with Play Store Intel x86 Atom_64 System Image | 30 | x86 | ✔ | ✔ |
Automotive with Play Store ARM 64 v8a System Image | 32 | ARM | ✔ | ✔ |
Automotive with Play Store Intel x86 Atom_64 System Image | 32 | x86 | ✔ | ✔ |
如需安装通用系统映像,请按以下步骤操作:
- 在 Android Studio 中,依次选择 Tools > SDK Manager。
- 点击 SDK Platforms 标签页。
- 点击 Show Package Details。
- 选择要下载的映像(如需了解详情,请参阅上表)
点击 Apply,然后点击 OK。
添加来自 OEM 的系统映像
您还可以添加针对 GM、Honda、Polestar 和 Volvo 等车辆的原始设备制造商 (OEM) 专属系统映像。请按照 OEM 开发者网站上的步骤操作:
按字母顺序排列:
创建汽车 AVD 并运行模拟器
如需创建代表 Android Automotive OS 车辆的 Android 虚拟设备 (AVD),然后使用该 AVD 运行模拟器,请按以下步骤操作:
- 在 Android Studio 中,依次选择 Tools > AVD Manager。
- 点击 Create Virtual Device。
- 在 Select Hardware 对话框中,选择 Automotive,然后选择一个设备并点击 Next。
- 选择以 Automotive 为目标平台的系统映像,如 Android 12L (Automotive with Play Store),然后点击 Next。
- 为您的 AVD 命名,再设置其他要自定义的选项,然后点击 Finish。
- 在工具窗口栏中,选择您的 Android Automotive OS AVD 作为部署目标。
- 点击 Run 按钮 。
使用模拟器的扩展控件
除了其他 Android 模拟器中提供的许多标准扩展控件之外,还有一些专门为 Android Automotive OS 模拟器制作的扩展控件。
模拟硬件状态
除了可以使用标准 Android API 读取的加速度计和陀螺仪等传感器(若有)之外,车辆特有的其他硬件属性都是通过车载设备硬件抽象层 (VHAL) 来传达。系统会通过 VehiclePropertyIds
类为这些属性建模。
在模拟器运行时,您可以通过扩展控件的汽车数据功能修改这些属性的值。例如,若要设置车辆的当前速度,您可以查找速度属性 (VehiclePropertyIds.PERF_VEHICLE_SPEED
) 并更改其值。
模拟驾驶
如果您想模拟驾驶,则应将“Car speed”设为非零值,并将“Gear”设为 P (Park) 以外的档位。若要模拟停车状态,只需将“Gear”设为 P (Park) 即可。为此,您可以使用 Car sensor data 标签页下的滑块和选择器,也可以修改相关 VHAL 属性(如前面部分所述)。
测试旋转输入
除了触摸屏外,一些 Android Automotive OS 车辆还配备了旋控器;该控制器依赖于键盘导航所依赖的那些 Focus API,让用户无需轻触屏幕即可在应用中导航。您可以使用扩展控件中的旋转车载界面工具来测试应用对旋转输入的支持。
修改媒体应用的运行配置
Automotive OS 应用中的媒体应用与其他 Android 应用不同。Android Automotive OS 使用显式 intent 并通过向媒体浏览器服务发送调用来与媒体应用交互。
为了测试应用,请验证应用的清单中是否没有任何启动 activity,然后通过完成以下步骤来阻止汽车模块启动 activity:
在 Android Studio 中,依次选择 Run > Edit Configurations。
从应用中的模块列表中选择您的汽车模块。
在 Launch Options > Launch 下,选择 Nothing。
点击 Apply,然后点击 OK。