Skip to content

## CarPlay(xcertplay 比亚迪版)1.4.0-byd.16

Choose a tag to compare

@github-actions github-actions released this 15 Oct 09:27
· 22 commits to byd-song-plus-2021 since this release

CarPlay(xcertplay 比亚迪版)1.4.0-byd.16

基于原版 xcertplay,已跟进到 1.4.0(只挑选移植了上游的修复,不是整体合并,见仓库 docs/UPSTREAM.md),适配比亚迪 DiLink 车机的无线 CarPlay,在宋 PLUS 2021(Android 10)上测试。

安装

  • 比亚迪车机安装 xcertplay-mobile-1.4.0-byd.16.apk;automotive 包只用于 Android Automotive OS 车机。
  • 包名为 com.shilapi.xcertplay.byd,可与原版共存;桌面名称为 “CarPlay”。
  • 使用调试签名,可直接覆盖安装本系列的其他版本。
  • 已装 1.4.0-byd.12 及以后版本的,可以在首页点“更新到 1.4.0-byd.16”直接更新(没出现的话:设置 → 高级 → 更新 → 检查更新)。
  • 如果上电时系统询问“连接此 USB 设备时是否打开 CarPlay”,勾选默认打开的选项后确定即可。

本版改动(相比 1.4.0-byd.15)

  • 有线(USB)连接一直不流畅
    • 最可能的原因(还没有日志证实):有线的画面和声音走 iPhone 的 USB 网卡,原来读 USB 的方式会在等待时挡住安卓的垃圾回收,其他线程跟着停顿;读状态的线程几乎一直在等,所以一直小卡。无线不受影响。
    • 改为 DiPlay 的读法:读数据用异步请求,状态每 0.5 秒只查一下。
    • 同时带上 DiPlay 的几项有线修复:数据包结尾判断有误会断线、一个数据块损坏整个会话就断、读刚好超时时断线、握手时写入每次要等 2 秒。
    • 会话日志里会记下握手期间丢的帧数(NCM bulk-out ready)和跳过的损坏数据块(NCM resynchronized)。
  • 还没有实车验证,有线连接后请留意是否流畅,并导出日志。

1.4.0-byd.11 到 1.4.0-byd.15 的改动

  • 1.4.0-byd.15:没有车机 ADB 时用系统安装界面或文件管理器装更新。
  • 1.4.0-byd.14:音视频解密用系统原生实现、音视频线程提高优先级;定位上报更准确;音乐时钟测量;有线 iOS 27 的一个解析问题。
  • 1.4.0-byd.13:有线连接报 InvalidHostID 时重新配对。
  • 1.4.0-byd.12:检查更新,一键经车机 ADB 安装。
  • 1.4.0-byd.11:音乐解码修复、GPS 航向、蓝牙检查和几项排查日志。
  • 详见各自的发布说明,都还在等实车验证。

相比原版的改动

比亚迪功能

  • 仪表显示 CarPlay 歌曲;音乐 App 打开“车载歌词”后显示当前歌词
  • CarPlay 通话时降低空调风量(可选 1–3 档,通话结束后恢复)
  • 倒车和 360 画面显示时保持 CarPlay 连接
  • 屏幕旋转时保持 CarPlay 连接,画面跟着横竖切换(实验性)
  • 熄火时自动退出 CarPlay,并恢复蓝牙、Wi-Fi 搜索和扫描权限
  • 停车时在车机上看视频(iOS 27,实验性)
  • 隧道导航使用车速和挡位;为 Apple 地图提供电量和续航(DiLink 4,实验性);定位没有航向时不再报“正北”;GPS 优先,不重复上报旧定位
  • 长按方向盘语音键唤起 Siri
  • 车辆身份默认为 BYD Song PLUS,返回车机图标默认为比亚迪标志
  • 本地 MFi 证书可在比亚迪车机上使用(读取存储权限加私有副本)
  • 仪表歌词、降风量、倒车识别、熄火退出、车辆数据、暂停 Wi-Fi 搜索需先在“设置 → 车辆 → 比亚迪”中授权车机 ADB

连接与定位

  • 可选现有 Wi-Fi / 同一局域网、Wi-Fi 直连、系统本地热点、手动热点四种连接方式
  • Wi-Fi 直连跟随车机信道并保持 5 GHz,也可手动选择信道;热点忙时自动重试,本地热点失败时重试
  • CarPlay 期间暂停车机 Wi-Fi 搜索,并限制高德和百度网络定位的扫描,减少卡顿;暂停没生效时会提示原因
  • 车机连着 iPhone 个人热点时提示关闭
  • CarPlay 期间自动断开 iPhone 的蓝牙通话和蓝牙音乐,结束后自动恢复
  • 熄火后来不及恢复的蓝牙、Wi-Fi 搜索和扫描权限,在下次上电时自动恢复
  • “开机自动启动”关闭时,上电后不自动连接 CarPlay
  • 无线会话期间保持高性能 Wi-Fi
  • 车机定位持续送到 iPhone(含车速和卫星信息)
  • 退出应用时断开 CarPlay,并恢复蓝牙、Wi-Fi 搜索和扫描权限
  • 有线连接支持 iOS 27;有线连接时不影响车机其他应用上网;iPhone 不认旧配对时重新请求信任;读 USB 不再拖住整个应用,有线更流畅

声音与通话

  • 媒体、导航、通话可分别指定车机音频通道,并可试听
  • 导航缓冲可调(80–300 ms),播报结束时先播完剩余语音
  • 修复比亚迪车机上 CarPlay 通话听不到对方的问题;微信通话已实车验证
  • 方向盘按键可控制 CarPlay 播放
  • 音乐缓冲预填充;修复同类型音频流同时播放时互相干扰的问题
  • 音频缓冲按时长计算,有线连接开头不再丢声音
  • 音乐解码器一时拿不到输入时先送出已解码的声音再等,不再立即丢包
  • 音视频解密用系统原生实现,音视频线程提高优先级

界面

  • 全面简体中文;重新设计首页(连接进度、失败建议、卡顿原因提示)和设置页(分类导航)
  • 深浅色跟随车机日夜模式;使用深色主题,启动不再白屏
  • 打开设置时不断开 CarPlay;按返回键或车机图标离开后可回到 CarPlay
  • “设置 → 诊断”可一键导出日志到“下载/xcertplay”,并记录音频诊断和熄火、上电时的处理
  • 默认图标大小改为“中”
  • 检查更新:首页提示新版本,一键经车机 ADB 安装;没有 ADB 时用系统安装界面或文件管理器安装

已知问题

  • 现有 Wi-Fi / 同一局域网连接方式、深色模式下的返回车机图标、1.4.0-byd.11 的音频修复、1.4.0-byd.12 的经 ADB 自动安装、1.4.0-byd.14、1.4.0-byd.15 和本版的改动,都还没有实车验证
  • 长时间播放时音乐偶有短暂卡顿,1.4.0-byd.11 做了针对性修复,1.4.0-byd.14 又加了时钟测量,待验证
  • 应用内直接读挡位在宋 PLUS 上读不到,挡位仍靠车机 ADB
  • 熄火后 10 秒内又上电时,CarPlay 不会自动回来,需手动打开应用
  • 屏幕旋转不断连只在宋 PLUS 2021 上实车验证过
  • 有线连接的几项修复(包括 1.4.0-byd.13、1.4.0-byd.14 和本版)都还没有实车验证;作者平时用无线