Repository navigation
DiPlay 2.0(93)· leapmotor
DiPlay Android 7 构建版 · 功能状态(零跑版)
版本号 = 构建号,见 APK 版本名
2.10(NN)与诊断报告第一行。
签名:固定 release 密钥(platform,SHA-256C8:A2:E9:BC:CF:59:7C:2F:B6:DC:66:BE:E2:93:FC:13:F2:FC:47:EC:77:BC:6B:2B:0D:52:C1:1F:51:19:2A:B8)。
本页描述当前整体状态;每次构建的本次改动由 CI 自动附在文末(取自本次提交说明)。
✅ 可用
- 有线 CarPlay:视频 24–26 fps、LPCM 音频零丢包、触控延迟约 35 ms,长会话稳定。
有线期间车机其他 app 可正常上网(VPN 只接管 CarPlay 的 IPv6 链路,IPv4 放行)。 - 无线 CarPlay(外部 Wi-Fi 方案,默认方式):车机与 iPhone 连接同一个外部网络
(如随身 WiFi),视频约 23–30 fps,触控可用。完整流程已实测跑通:
AirPlay 连接 → 会话建立 → 蓝牙交接完成(handoff/complete)。
SSID、密码、信道全部自动读取网络真实值,无需手动设置。 - 方向盘媒体键(零跑方控):监听车机的
car.meter.music.BROADCAST广播,上一首 / 下一首 /
播放暂停 转发给 iPhone(CarPlay HID);仅转发真正的方向盘键,车机内部命令(如焦点变化时
自己广播的pause)一律丢弃。CarPlay 播放时原厂播放器由音频焦点压停。 - 倒车自动暂停(零跑 CAN 档位):通过
carcanserver的广播接口(leapmotor.apptocan.update
→leapmotor.cantoapp.update,信号1010105)读取挡位 P/R/N/D;挂 R 自动暂停 CarPlay 音乐,
退出 R 自动恢复(仅恢复本次倒车中自己暂停的)。 - 定位上报(iPhone 导航用):已启用,1 秒限流;蓝牙 → Wi-Fi 交接后继续上报
(iPhone 只在蓝牙链路请求定位,DiPlay 会把请求带到 Wi-Fi 链路)。 - 有线自愈:配对记录或 host ID 被车机 Lockdown 拒绝时自动清除并重新配对,不再直接失败
(新 iPhone 首连报 InvalidHostID 的修复已包含,请使用 v2.0-84 及以上构建)。 - 界面汉化:约 520 处全部完成,应用名
DiPlay。 - 版本溯源 + 诊断报告:构建号烙进版本名与诊断报告第一行;设置 → 关于与诊断 → 保存诊断报告,
含显示协商、多代历史日志、无线判层结论、连接诊断行。
🆕 新增(待真机验证)
以下功能已并入构建并通过 CI(编译 + 全部单元测试),但尚未在真机上实测确认;
验证可用后移入"✅ 可用"。
- 歌曲信息与专辑封面(0.2.10 同步):CarPlay 正在播放的歌曲名 / 艺人 / 播放进度 /
专辑封面会写入 Android 系统媒体会话——车机的媒体卡片、锁屏等界面可以显示;
iPhone 端的播放位置也持续同步,不再停在旧值。 - AirPlay 端口自动选择(0.2.10 同步):车机上其他程序占用 7000 端口导致
"连接不上"的场景自动避开——先试 7000,被占则依次尝试 7001–7010,最后由系统分配,
并把实际端口通过 Bonjour / iAP2 告知 iPhone,无需人工处理。 - 通话回声消除 / 降噪(0.2.10 同步):CarPlay 通话时自动切到 Android 通信音频模式
(启用通话下行通路),并启用平台回声消除 / 噪声抑制;麦克风采集失败不再影响音乐播放。 - iOS 27 视频车内播放(0.2.10 播放器升级):iPhone(iOS 27)在 N 挡时可以把视频
投到车机播放。新播放器支持进度条拖动 / 快进快退 10 秒 / 播放暂停(方控键同样可控制);
支持 HLS 流式视频;App 内自有协议的视频地址由 iPhone 代为下载(原 Apple 接收端同款机制)。
离开 N 挡自动关闭;FairPlay 版权保护内容(如 Apple TV+)无法播放,会提示并自动跳过。 - 视频画面等比适配(0.2.10 同步):CarPlay 画面按会话分辨率等比显示(黑边补齐),
黑边区域的触摸不再误传给 iPhone;倒车影像引起的窗口缩放不再重启 CarPlay 会话。 - 连接诊断进报告(0.2.10 同步):蓝牙连接前后快照、USB 配置识别、USBMUX 链路收发、
各资源关闭耗时、麦克风启动失败原因等关键节点都会以CONNECTION_DIAGNOSTIC行写入
诊断报告,问题定位不再依赖猜。 - USB 数据流 padding 精准处理(0.2.10 同步):iOS 27 手机在 USBMUX 握手帧后追加的
4 字节 padding 只在确认边界时跳过,误判不再导致握手卡死;
USB 有线会话也不再要求先完成无线热点设置才能启动。 - Wi-Fi Direct 兼容性兜底(0.2.10 同步):未知安全类型按 WPA2-PSK 处理不再中断;
建组被拒时继续尝试下一信道(含 5 GHz → 2.4 GHz 回退),无权限类错误立即报告不空转。 - 在线更新(本版新增):设置 → 在线更新 → 检查 GitHub 上的新构建;
高于当前版本时自动下载 APK → 弹确认 → 静默安装(platform 签名)→ 自动重新打开 DiPlay →
删除已装的 APK。支持直连 GitHub 或代理下载
(seep.eu.org/jsnzkpg4.pages.dev/down.nigx.cn,任选其一)。 - VPN 改为仅覆盖 DiPlay 自身(本版新增):有线连接时的本地 VPN 只白名单 DiPlay 自己的包名,
车机上其他所有 app(含飞牛com.trim.app)完全绕开 VPN——此前它们的链路本地 IPv6 流量
会被 VPN 吞掉导致"没网",现在与未连 CarPlay 时一致。 - 外部 Wi-Fi 名称自动填入(本版新增):设置里的 Wi-Fi 名称不再需要手动输入——
打开设置页或切换无线方式时自动读取车机当前连接的 Wi-Fi 并写入(密码可留空);
车机未连 Wi-Fi 时会显示引导提示。
🔴 暂不可用
- 无线 CarPlay · 车机自建热点 / Wi-Fi Direct:Android 7 内核会丢弃热点客户端发往车机
7000 端口的流量(IPv6 静默丢弃,无 root 无法放行防火墙),iPhone 拨号无响应。
实测确认 0.2.10 的端口自动选择(7001–7010)同样被丢弃——内核防火墙拦的是整个端口段,
应用层无法绕过;此路径留待后续测试研究。无线请使用"外部 Wi-Fi"方案
(车机与手机连同一个网络)。 - 有线改设置后自动重连:改设置后仍需重新插拔数据线才会重连(重枚举后系统
会再次弹 USB 授权,属系统行为)。
⚠️ 已知限制
- 外部 Wi-Fi 方案需要第三个网络:车机与 iPhone 必须连在同一个 Wi-Fi(如随身 WiFi),
该网络需允许设备互访(未开客户端隔离)。车机尚未连接 Wi-Fi 时,App 会静默等待
(不再周期性重试刷屏),车机连上后自动继续。 - 有线会话偶发等待重枚举:约 10 秒内自动恢复,极少数情况需重试一次。
- 无线丢帧波动:外部 Wi-Fi 网络质量波动时可能短时掉到 10 fps 以下并自行恢复。
- iOS 27 视频:仅 iOS 27 手机可用;N 挡限定(零跑没有 P 挡读数,与上游的 P 挡不同);
版权保护内容不可播。视频与 CarPlay 画面共用一块车机屏,播视频时 CarPlay 在后台保持连接。 - 挡位信号来源:依赖零跑
carcanserver广播接口;收到第一条挡位数据前
一律按"不可用"处理(视频不开、倒车不触发)。 - 上游 BYD 专属功能未移植(与本分支无关):CAN/CANFD 电池信息、仪表盘地图镜像与
歌曲卡片、桌面小组件、地图共享给第三方桌面、乌克兰语翻译。零跑分支保持纯度,
不引入依赖 BYD HUD/SOME-IP 的代码。
本次构建(2.0(93)· leapmotor)
修复 run 92 编译失败:VPN 自身白名单改用反射调用(API 37 起 addAllowedPackage 改名 addAllowedApplication,而车机 API 25 只有旧名),运行时优先 addAllowedPackage、回退 addAllowedApplication