2. 开发环境搭建:Android Studio配置、车载SDK安装、模拟器与真机调试、ADB常用命令
说实话,搞车载多媒体开发,第一步不是写代码,而是把环境搭好。我见过太多新手一上来就急着敲代码,结果编译报错、模拟器起不来、真机连不上……折腾半天,心态直接崩了。咱们今天就把这事一次性搞定。
我个人习惯把环境搭建分成四个模块:IDE配置、SDK安装、调试环境、ADB工具链。下面这张图能帮你快速建立全局认知:
2.1 Android Studio 配置——别小看这一步
Android Studio 的安装其实没什么好说的,官网下载、下一步、完成。但配置上,我踩过不少坑。
JDK 版本:车载项目通常基于 Android 12 以上,建议用 JDK 17。我之前用 JDK 11 编译一个 AAOS 项目,死活报错,换了 JDK 17 就好了。你可以在 File → Project Structure → SDK Location 里指定 JDK 路径。
Gradle 配置:车载多媒体项目依赖多,建议把 Gradle 版本提到 8.0 以上。在 gradle-wrapper.properties 里改:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip
代理设置:如果你在墙内,记得配代理。在 gradle.properties 里加:
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=7890
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=7890
2.2 车载 SDK 安装——AAOS 才是主角
车载多媒体开发,核心是 Android Automotive OS(AAOS)。它不是普通的手机 Android,而是专门为车机定制的系统。
你需要安装以下 SDK 组件:
- Android SDK Platform:至少 API 31(Android 12)以上
- Android Automotive OS SDK:在 SDK Manager 里勾选 "Automotive" 分类
- Car API 库:
androidx.car.app:app:1.3.0+ - 系统镜像:用于模拟器调试,选择 "Automotive" 类型的镜像
具体操作:打开 SDK Manager → 选择 "SDK Platforms" 标签 → 勾选 "Android Automotive OS" 对应的 API Level → 应用安装。
在 build.gradle 里添加依赖:
dependencies {
implementation 'androidx.car.app:app:1.3.0'
implementation 'androidx.car.app:app-projected:1.3.0'
}
2.3 模拟器与真机调试——两手都要硬
车载开发调试,模拟器和真机各有各的用处。
模拟器调试
创建 Automotive 模拟器:
- 打开 AVD Manager → 点击 "Create Virtual Device"
- 在 Category 里选择 "Automotive"
- 选择一个镜像(推荐 API 31 或 32)
- 配置内存和存储(建议 2GB RAM + 4GB 存储以上)
启动后,你会看到一个车机中控屏的界面。嗯,第一次看到还挺有成就感的。
模拟器快捷键:
- 旋转屏幕:Ctrl + F11
- 音量调节:F5/F6
- 模拟 GPS:Extended Controls → Location
真机调试
真机调试分两种情况:
USB 连接:
- 打开开发者选项 → 开启 USB 调试
- 用数据线连接电脑
- 在终端输入
adb devices确认连接
WiFi 调试(Android 11+):
adb tcpip 5555
adb connect 192.168.1.100:5555
我个人更推荐 WiFi 调试,毕竟车载中控台的位置通常不太方便插线。但要注意,WiFi 调试第一次还是需要 USB 连接来开启端口。
2.4 ADB 常用命令——你的瑞士军刀
ADB(Android Debug Bridge)是开发者的好伙伴。下面这些命令,我几乎每天都会用到。
| 命令 | 用途 | 示例 |
|---|---|---|
adb devices |
查看已连接的设备 | 列出所有模拟器和真机 |
adb install |
安装 APK | adb install app-debug.apk |
adb uninstall |
卸载应用 | adb uninstall com.example.carapp |
adb logcat |
查看日志 | adb logcat -s CarMediaService |
adb shell |
进入设备终端 | 执行 Linux 命令 |
adb pull |
从设备拉取文件 | adb pull /sdcard/log.txt |
adb push |
推送文件到设备 | adb push config.xml /sdcard/ |
adb reboot |
重启设备 | 调试完重启车机 |
日志过滤技巧:车载多媒体应用日志量很大,不加过滤根本看不完。我一般这样用:
# 只显示指定标签的日志
adb logcat -s CarMediaService
# 保存日志到文件
adb logcat -d > crash_log.txt
# 清空旧日志
adb logcat -c
模拟车载事件:调试多媒体应用时,经常需要模拟车载事件:
# 模拟车辆熄火
adb shell am broadcast -a android.car.intent.action.CAR_SHUTDOWN
# 模拟音频焦点变化
adb shell am broadcast -a android.media.AUDIO_BECOMING_NOISY
RECEIVE_CAR_EVENTS 权限。
2.5 环境验证——确保一切就绪
配置完成后,我建议你跑一个简单的验证流程:
- 创建一个新的 Automotive 项目(模板选择 "Car App")
- 编译运行到模拟器
- 在模拟器里打开你的应用,确认界面正常显示
- 用
adb logcat查看日志,确认没有异常报错
如果一切顺利,恭喜你,环境搭建完成!
如果遇到问题,别慌。大部分问题都是 JDK 版本不匹配、SDK 缺失、或者 Gradle 缓存导致的。试试 File → Invalidate Caches,能解决 80% 的疑难杂症。
好了,环境搭好了,下一章咱们就开始写真正的车载多媒体代码了。到时候你会发现,今天花的时间,绝对值。