第2章:开发环境搭建

好,咱们正式开始动手了。

做车机开发,第一步就是把家伙事儿备齐。Android Studio、SDK、模拟器、ADB,这四个东西就是你的左膀右臂。我见过不少新手,一上来就急着写代码,结果环境没配好,编译报错折腾半天——嗯,这种亏我吃过,所以这一章咱们稳扎稳打。

2.1 Android Studio 安装与配置

先说 Android Studio,简称 AS。这是 Google 官方的 IDE,也是咱们车机开发的唯一指定工具。

我个人习惯去 developer.android.com/studio 下载。别去第三方网站,你想想看,万一被植入点什么东西,那可就麻烦了。

安装过程其实很简单,Windows 用户一路 Next,Mac 用户拖到 Applications 文件夹就行。但有几个坑我得提前说:

注意:安装路径不要有中文!不要有空格!我见过有人把路径写成「D:\我的项目\车机开发」,结果 Gradle 编译直接报错,查了半天才发现是路径编码问题。

安装完成后,第一次启动会问你「Import Settings」,如果你之前没用过,直接选「Do not import settings」就好。

然后它会自动下载 SDK。这一步可能会比较慢,因为要连 Google 的服务器。如果你在公司内网或者网络环境不好,可以配个代理。具体配置在 Settings → Appearance & Behavior → System Settings → HTTP Proxy 里。

2.2 SDK Manager 使用

SDK Manager 是管理 Android SDK 版本的工具。说白了,你要开发哪个 Android 版本的车机系统,就得下载对应的 SDK。

打开方式很简单:在 AS 的欢迎界面点 Configure → SDK Manager,或者在项目里点 Tools → SDK Manager

这里我建议你至少下载以下内容:

组件 说明 我的建议
Android SDK Platform 对应 Android 版本的 API 下载你目标车机系统的版本,比如 Android 12、13
Intel x86 Atom_64 System Image 模拟器镜像 必须下,不然没法跑模拟器
Android SDK Build-Tools 编译工具链 选最新的稳定版就行
Google USB Driver Windows 下连接真机用 如果你用真机调试,这个必须装
小技巧:SDK Manager 里有个「Show Package Details」的勾选框,勾上之后能看到每个版本的具体子版本。我一般会选最新的 patch 版本,因为 bug 最少。

下载的时候,注意看右下角的「Disk Usage」,别把 C 盘塞满了。我习惯把 SDK 路径改到 D 盘或者 E 盘,具体在 Appearance & Behavior → System Settings → Android SDK 里修改 SDK Location。

2.3 模拟器创建与调试

车机开发离不开模拟器。为啥?因为你不可能每次改个 UI 都跑到车上试,对吧?

创建模拟器很简单:点 AS 右上角的 Device Manager 图标,然后点 Create device

这里有个关键点:车机屏幕通常比较特殊,不是手机那种竖屏。我建议你选 Tablet 分类,或者直接选 Automotive 分类(如果你下载了 Automotive 镜像)。

创建时要注意几个参数:

  • 屏幕尺寸:车机一般是 10 寸到 15 寸,分辨率选 1920x1080 或者 1280x720 都行
  • API 级别:跟你项目里的 compileSdk 保持一致
  • RAM:建议 2GB 以上,车机系统本身比较吃内存
重点:模拟器启动后,如果发现界面卡顿或者黑屏,别慌。先检查一下你的电脑是否开启了硬件加速(Intel HAXM 或 Windows Hyper-V)。我遇到过好几次,都是因为 BIOS 里没开虚拟化技术。

调试的时候,模拟器和 AS 是自动连接的。你可以在模拟器里直接操作,AS 里的 Logcat 会实时打印日志。我个人习惯把 Logcat 窗口固定在 AS 右侧,这样一边操作一边看日志,效率很高。

2.4 ADB 工具实战

ADB,全称 Android Debug Bridge。这玩意儿是 Android 开发的瑞士军刀。说白了,它就是你的电脑和 Android 设备(模拟器或真机)之间的桥梁。

ADB 在 SDK 的 platform-tools 目录下。安装 AS 的时候会自动配好环境变量,但如果你发现命令行里输 adb 提示找不到,那就手动配一下环境变量。

我常用的 ADB 命令,给你列几个:

# 查看连接的设备
adb devices

# 安装 APK
adb install app-debug.apk

# 卸载应用
adb uninstall com.example.carapp

# 查看日志(实时)
adb logcat

# 抓取 bug 报告
adb bugreport

# 进入 shell 模式
adb shell

这里我重点说一下 adb logcat。车机开发中,日志是你最好的朋友。我一般会配合 grep 来过滤:

# 只显示包含 "CarLauncher" 的日志
adb logcat | grep CarLauncher

# 按优先级过滤(只显示 Error 及以上)
adb logcat *:E
避坑指南:我曾经在调试车机时,发现日志里一直报「Permission denied」。查了半天,原来是 ADB 没有 root 权限。车机系统很多是 user 版本,不是 eng 版本,所以 adb root 会失败。这时候可以用 adb shell 进去,然后手动 su 提权,或者用 adb disable-verity 关闭验证。

还有一个实用技巧:用 ADB 模拟车机事件。比如你想测试屏幕点击:

# 模拟点击坐标 (x=500, y=800)
adb shell input tap 500 800

# 模拟滑动
adb shell input swipe 100 500 900 500

# 模拟按键(比如返回键)
adb shell input keyevent KEYCODE_BACK

这个在自动化测试里特别有用。我经常写个脚本,循环执行这些命令,来模拟用户操作。

2.5 环境验证

所有东西都装好了,咱们来验证一下。打开命令行,依次执行:

# 检查 Java 环境
java -version

# 检查 ADB
adb --version

# 检查 Android SDK
echo %ANDROID_HOME%   (Windows)
echo $ANDROID_HOME    (Mac/Linux)

如果都能正常输出,恭喜你,环境搭建成功了。

最后说一句:环境搭建这一步,看起来琐碎,但真的值得花时间做好。我见过太多人因为环境问题浪费一整天。你想想看,如果连模拟器都跑不起来,后面的代码怎么写?所以,别急,慢慢来,把每一步都走稳。

好,这一章就到这儿。下一章咱们开始创建第一个车机项目,到时候会用到今天配好的所有工具。