2. 开发环境搭建:Android Studio配置、Automotive模拟器创建、手机与车机调试环境准备、ADB与无线调试

说实话,做车机互联开发,第一步不是写代码,而是把环境搭好。我见过太多新手,代码写了一半才发现模拟器跑不起来,或者ADB连不上设备,那种挫败感真的很打击人。

这一章,我就带你一步步把开发环境搞定。别急,咱们慢慢来。

2.1 Android Studio 配置——别小看这一步

Android Studio 的安装我就不啰嗦了,官网下载就行。但有几个关键配置,我建议你提前做好。

2.1.1 安装 Automotive 相关 SDK

打开 SDK Manager(Tools → SDK Manager),确保你安装了以下组件:

  • Android SDK Platform 34(或你目标版本)
  • Android SDK Build-Tools 34.0.0
  • Android Auto API 模拟器镜像(这个容易漏掉)
  • Google Play Services for Automotive
我的小习惯:我会把 SDK 路径设在一个空间充足的盘里。之前有次 C 盘爆了,模拟器直接罢工,折腾了我半天才发现是磁盘满了。

2.1.2 Gradle 配置优化

车机项目通常依赖较多,Gradle 构建慢是常态。我一般会在 gradle.properties 里加这几行:

org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m
org.gradle.parallel=true
org.gradle.caching=true
android.useAndroidX=true

嗯,这里要注意:内存别设太大,4GB 足够了。设太大反而容易卡死。

2.2 Automotive 模拟器创建——这才是重头戏

普通手机模拟器大家都会建,但 Automotive 模拟器有点不一样。说白了,它模拟的是车机系统,不是手机。

2.2.1 创建 Automotive 虚拟设备

打开 AVD Manager,点击「Create Virtual Device」。在设备列表里,找到 Automotive 分类:

  • 选择 Automotive Wide Display(1280x720,适合横屏车机)
  • 或者 Automotive Large Display(1920x1080,适合高端车机)

然后选择系统镜像。注意,一定要选带有 Google APIs 的 Automotive 镜像,否则很多车机服务跑不起来。

我曾经踩过的坑:有次我选了个不带 Google APIs 的镜像,结果 Car App 库一直报错,查了半天才发现是镜像问题。所以,记住:带 Google APIs 的镜像才是正道。

2.2.2 模拟器启动参数调优

模拟器默认配置跑车机应用会有点卡。我建议你自定义启动参数:

-memory 2048
-cores 4
-gpu host
-window 1280x720
-dpi 160

在 AVD Manager 里,点击编辑按钮,找到「Show Advanced Settings」,把这些参数填进去。

2.3 手机与车机调试环境准备

模拟器终究是模拟器,真机调试才是王道。但车机不像手机,你不可能天天在车上开发。所以,我们需要一套「手机模拟车机」的方案。

2.3.1 手机端配置

用手机模拟车机,说白了就是把手机当成车机来调试。你需要:

  • 一台 Android 手机(建议 Android 12 以上)
  • 安装 Android Auto for Phone Screens 应用
  • 在开发者选项中开启 「无线调试」

我个人习惯在手机上装一个 Car Launcher 应用,这样界面看起来更像车机,调试起来更有感觉。

2.3.2 车机端配置

如果你有真车机,那最好。但大部分开发者没有。我的建议是:

  • 使用 Android Automotive OS 模拟器(上面已经建好了)
  • 或者购买一块 Android 车机开发板(比如瑞芯微 RK3588 方案的)
一个小技巧:开发板通常没有触摸屏,你可以用 ADB 投屏工具(比如 scrcpy)把画面投到电脑上操作,方便很多。

2.4 ADB 与无线调试——连接的艺术

ADB 是 Android 调试的基石。车机互联开发中,ADB 的使用频率非常高。你想想看,每次都要插线调试,多麻烦。无线调试才是王道。

2.4.1 有线 ADB 基础

先确保你的电脑能识别设备:

adb devices

如果看不到设备,检查驱动。Windows 用户尤其要注意,有些山寨数据线只能充电,不能传数据。

2.4.2 无线 ADB 配置

无线调试分两种场景:

场景一:手机与电脑在同一 WiFi 下

# 手机连接电脑,开启端口
adb tcpip 5555

# 断开数据线,连接手机 IP
adb connect 192.168.1.100:5555

场景二:车机与电脑在不同网络

这个稍微复杂点。我一般用 ADB over Wi-Fi Direct 或者 USB 网络共享。具体步骤:

  1. 车机开启 USB 网络共享
  2. 电脑端会多出一个网络适配器
  3. 用这个网络适配器的 IP 连接 ADB
注意:车机无线调试时,延迟会比有线高。如果遇到卡顿,先检查网络质量。我曾经在停车场调试,信号不好,ADB 经常断连,后来换了个 5G 热点才解决。

2.4.3 ADB 常用命令速查

命令 用途 我的备注
adb devices 查看已连接设备 最常用,没有之一
adb install -r app.apk 安装/覆盖安装应用 -r 参数保留数据
adb logcat -c && adb logcat 清空日志并实时查看 调试必备
adb shell dumpsys 查看系统服务状态 排查车机服务问题
adb forward tcp:6100 tcp:7100 端口转发 车机互联常用

2.5 本章知识体系总览

说了这么多,我画了一张图帮你理清思路。环境搭建的核心就是「三端一桥」:

开发环境搭建核心架构 开发机(电脑) Android Studio ADB 工具链 Automotive 模拟器 车机系统镜像 Google APIs 真机/开发板 手机模拟车机 车机开发板 ADB 调试桥(有线 / 无线) tcpip 5555 → connect IP → logcat / install / forward 调试流程 开发机编写代码 → ADB 安装到模拟器/真机 → logcat 查看日志 → 修改代码 → 重新安装

这张图的核心就是:开发机、模拟器、真机三端通过 ADB 这座桥连接起来。你只要把这三端配置好,ADB 调通,后面的开发就顺畅了。

2.6 环境验证——跑一个 Hello World

环境搭好了,怎么知道对不对?我建议你跑一个最简单的车机应用验证一下。

// 新建一个 Android 项目,选择 Automotive 模板
// 在 MainActivity 里加一行日志
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Log.d("CarDebug", "环境搭建成功!车机互联开发开始!");
}

然后:

  1. 用 ADB 安装到模拟器或真机
  2. 打开 logcat,过滤 CarDebug
  3. 看到日志输出,说明环境没问题
我的经验:第一次跑通的时候,那种成就感真的很棒。但别高兴太早,后面还有更多坑等着你。不过没关系,我会在后面的章节里一一帮你避开。

好了,环境搭建就到这里。记住:环境搭得好,开发没烦恼。花点时间把这一步做扎实,后面你会感谢自己的。


公众号:蓝海资料掘金营,微信deep3321