andreknieriem/headunit-revived

GitHub Trending (daily) 工具

摘要

Headunit Revived 是一款安卓应用,可将平板电脑或手机转变为 Android Auto 接收器,支持有线和无线连接。

用于显示 Android Auto 的 Headunit 应用
查看原文
查看缓存全文

缓存时间: 2026/06/24 13:45

andreknieriem/headunit-revived 来源: https://github.com/andreknieriem/headunit-revived

Headunit Revived

Headunit Revived 是一款 Android 应用,能将你的 Android 平板或手机变成 Android Auto 接收器。本项目是对 Michael Reid 原始 headunit 项目的复兴版。原始项目可在此处找到:https://github.com/mikereidis/headunit

截图

使用方法

查看 Wiki (https://github.com/andreknieriem/headunit-revived/wiki) 获取详细文档、设置指南和故障排查!

有线 USB 连接

  • 通过 USB 线将你的 Android 设备(手机)连接到运行 Headunit Revived 的平板。
  • 确保手机上已安装 Android Auto。
  • 如有必要,将手机设置为主机模式,并选择 Android Auto。
  • 在 Headunit Revived 中点击 USB 按钮,找到你的手机并点击右侧按钮允许连接。
  • 在列表中点击你的手机,等待 Android Auto 启动。

无线助手(推荐)

这是最可靠的无线连接方式。它通过手机上的配套应用触发连接。

  • 下载: Google Play 商店中的 Wireless Helper (https://play.google.com/store/apps/details?id=com.andrerinas.wirelesshelper)
  • 功能: 配置最少,支持 NSD、Wi-Fi Direct 自动连接和蓝牙自动启动。

设置:

  • 在 Headunit Revived 设置中,将 无线模式 设置为 助手模式
  • 确保两台设备处于同一网络(热点或 WiFi)。
  • 在手机上打开 Wireless Helper 应用并启动服务。
  • 助手会自动找到你的 headunit 并启动连接。

旧版无线选项

  • 无线启动器(Wireless Launcher): 你仍可使用 Emil Borconi 的原始 Wireless Launcher (https://play.google.com/store/apps/details?id=com.borconi.emil.wifilauncherforhur)。
  • 手动 / 原生: 使用 Android Auto 开发者设置中内置的 “Headunit Server”(可能在 10.x.x.x 网络中失败)。

通过 Intent 无线连接(高级用户)

你可以使用 Android Intent 触发无线连接尝试。这对于 TaskerMacroDroid 等自动化工具或通过 ADB 非常有用。

URI 方案: headunit://connect?ip=

ADB 命令示例:

adb shell am start -a android.intent.action.VIEW -d "headunit://connect?ip=192.168.1.25"

已知问题

  • 竖屏模式下的 Google Maps: 在某些设备上使用竖屏模式时,谷歌地图内的触摸交互(搜索、滚动)可能无法正常工作。 修复: 尝试在应用设置中将 像素密度 (DPI) 值降低至 200 以下(例如 190)。这通常能恢复全部功能。
  • 无线连接频繁断开: 如果连接频繁断开,请关闭手机 WiFi 设置中的 “WiFi Assistant”“在网络间切换”,以防止手机因“无网络“而终止连接。同时检查电池优化设置。
  • Android 10 (Q) 及以下版本的自助模式: 在 Android Auto 16.4 及以上版本中,谷歌已禁用了 Android 10 及以下版本的自动无线投影启动。虽然自助模式在较新 Android 版本上仍然有效,但在 Android 10 及以下设备上,通常无法通过最新的 Google 应用更新直接触发投影。 解决方法: 你仍可通过启动内置的 Android Auto Headunit Server 并通过 Wi-Fi 模式(环回)在设备上使用自助模式。请参阅故障排查指南 (https://github.com/andreknieriem/headunit-revived/wiki/Troubleshooting#self-mode-on-android-10-q-and-below) 获取分步说明。

计划

  • 添加 libusb 作为原生 USB 栈的替代方案,以提高与某些设备的兼容性
  • 为 UI 和应用本身提供更多自定义选项

更新日志

v.3.0.1

  • 修复:断开连接后应用退出
  • 增强:USB 工作流程。这有望消除一些随机的 USB 断开问题
  • 修复:Android < 6 设备上的键盘输入
  • 增强:WiFi Direct 模式
  • 增强:某些设备的文件选择器
  • 修复:Play Console 中显示的一些致命错误

v.3.0.0

  • 新增:自定义加载屏幕(图片/GIF/视频),感谢 @andrecuellar
  • 新增:设置重置按钮,如果你在设置中搞砸了,现在可以重置为默认值
  • 移除:旧的已弃用的用 C 代码编写的 SSL 库,以便于维护、提高稳定性和减小文件大小
  • 新增:直接记录日志到文件而不依赖 logcat,感谢 @Anton111111
  • 尝试修复运营商丢失时连接丢失的问题
  • 保持 USB 断开连接持续 8 秒,以便可能重启 USB 加密狗
  • 实现汽车大灯信号模式 (ILL+),用于夜间主题管理,感谢 @minhtuanact
  • 新增设置导出和导入功能,带有备份选项,感谢 @JanRi3D
  • 为 USB 连接添加白名单,以避免与 iPhone 和其他 USB 设备冲突
  • 新增二维码,用于无线助手的便捷连接
  • 修复:蓝牙自动连接在 USB 会话期间将手机拖入无线流程,感谢 @andrecuellar
  • 同步持久化自动优化向导设置,感谢 @andrecuellar
  • 新增从右侧用两根手指滑动切换全屏模式和正常(所有栏)模式的功能,感谢 @Anton111111
  • 改进:USB 按钮自动连接,感谢 @bezprobeloff
  • 捕获 Play Console 中列出的一个致命错误
  • 修复:自 2.1.1 版本以来,某些设备上的音频卡顿问题
  • 修复:USB 设备列表重复以及 Android 10+ 上的 Android Auto 投影启动,感谢 @jeancarloscc
  • 增强:Google Nearby。之前视频只有 2 FPS,存在 Bug
  • 修复:导航按钮映射现在正常工作

v.2.3.1

  • 修复了例如在边界处连接丢失的问题
  • 如果可用,将套接字绑定到 WiFi 网络,以防止运营商丢失时连接断开
  • 新增静态音频焦点开关,以防止某些设备上音频焦点丢失
  • 修复 Samsung 例程和模式
  • 修复如果手机握持方向错误导致启动时方向错误的问题。现在使用设置中的方向
  • 尝试修复 AAWireless 加密狗的 USB 错误
  • 新增音频混合器,用于混合不同的音频轨道,感谢 @jeffdapaz 的想法
  • 新增多个设备的蓝牙自动启动
  • 修复麦克风输入源映射错误
  • 新增越南语翻译 🇻🇳,感谢 @minhtuanact
  • 合并拉取请求 #549 - 实现返回键路由并为返回键添加按键映射,感谢 @JanRi3D

v.2.3.0

  • 为按键映射新增一些新按钮
  • 修复 3 个致命错误
  • 修复全志设备上的视频解码器设置
  • 新增导航意图
  • 包含拉取请求 #456
  • 新增 “连接 WiFi 时自动启动” 设置 #324
  • 修复原生 AA 上的空 BSSID。现在应该能在更多设备上使用
  • 修复媒体会话相关的新致命错误
  • 重新添加全屏覆盖系统图标 #351
  • 将回车键 (66) 重新映射为 DPad 中心键 (23),用于旋转编码器 #459
  • 如果在 100 毫秒内按键事件相同,则去抖多个按键事件 #465
  • 将麦克风设置移动到单独的片段,并为 2.2.2 版本的新麦克风增强功能添加 3 个新选项,默认关闭以提高兼容性
  • 合并拉取请求 #481 - 应用联发科 60fps 和音频优化,感谢 @mrkontrast-coder
  • 重写 AudioTrackWrapper 的部分代码,以增强稳定性并减少卡顿
  • 合并拉取请求 #490 - 添加 UI 缩放设置,感谢 @Anton11111
  • 合并拉取请求 #502 - 导航广播更新。感谢 @Bastel2020

v.2.2.2

  • 修复:断开连接时退出现在也会停止车载模式
  • 修复:退出意图未关闭应用
  • 修复:如果启用了 “自动或传感器”,应用切换时方向无法正常工作
  • 再次:方向盘和按键映射进行了一些更改,也许这能在更多设备上使用
  • 扩展麦克风调试,添加噪声抑制器、自动增益控制和声学回声消除器以提高语音质量
  • 修复了 Android USB 系统提示无法为手机显示的问题。现在默认启用提示,并且可以单独为 USB 拇指驱动器禁用。它称为 “监听 USB 设备” 设置,并将系统 USB 提示与自动启动行为解耦。这为所有用户恢复了旧功能,并且可以为那些讨厌非 Android Auto 设备弹出窗口的用户禁用
  • 修复:如果可用区域与协商的区域不同,则重新缩放并更新 UI。这发生在设备关于导航栏撒谎的情况下
  • 修复:低于 Lollipop 的设备断开连接时的致命崩溃
  • 修复:在英国和其他国家/地区超过 3 小时的自动夜间模式,感谢 @BinarySimple17
  • 添加单独的音频流设置并更新相关功能,感谢 @Anton111111
  • 增强:当音频接收器关闭时,应用不再尝试获取媒体焦点

v.2.2.1

  • 修复了自 2.2.0 以来 USB 连接中的一个致命错误。这很重要,因此在未修复所有计划问题的情况下发布此版本
  • Google Nearby Connection 现在在启用自动连接时自动连接
  • UI:为 Android 10 及以下版本的自助模式添加错误消息
  • 缩放和触摸的新方法,以防止偏移
  • 修复应用在应用抽屉中出现多次的问题
  • 修复例程和意图无法正常工作的问题

v.2.2.0

  • 新增:原生 AA。🎉 警告!这仅在有限数量的 headunit 上有效!大多数 Android 设备不支持通过蓝牙连接两个 Android 设备,而这是此功能正常工作的关键。
  • 新增:Google Nearby 支持作为连接方式。需要 Wireless Helper 1.6.0 或更高版本
  • 新增:画中画支持
  • 新增:4K 选择
  • 尝试修复 WiFi 连接问题
  • 新增:直接进入自助模式启动应用的意图和例程
  • 新增:旧设备在 SurfaceView 上的强制缩放选项
  • 新增:新的沉浸式全屏模式,避开刘海区域。这应能修复例如 Pixel 手机的问题
  • 增强:视频解码器错误处理
  • 新增:用于 Wi-Fi Direct 的 2 个新 WiFi 选项。感谢 @andrecuellar
  • 新增日语语言 🇯🇵,感谢 @mattyann87
  • 增强:媒体会话通知。感谢 @irwanrhmn
  • 新应用图标(无文字),提高可见性
  • 修复:非 Android Auto 设备出现的 USB 模态框,感谢 @andrecuellar
  • 新增:在设置中创建可配置的音频队列和音频缓冲区,感谢 @irwanrhmn

v.2.1.1

  • 修复:Android 4.2 上的布局崩溃
  • 新增:启用热点选项。注意:并非在所有设备上都有效。尤其是在 Android 13 之后!
  • 新增:用于离线模式下新版 Android Auto 的假 VPN 处理程序。不再可能将网络发送到 AA,因此如果设备离线,我们需要这个 hack
  • 增强:音频焦点现在更加激进,希望能修复音频不从平板/headunit 发出的错误
  • 新增:自动启动功能。感谢 @andrecuellar
  • 注意:需要拆分 Github 和 Play Store 版本。Google 不允许在离线自助模式下使用假 VPN。因此 Play Store 版本中不包含此功能!

v.2.1.0

  • 修复:退出意图无效。感谢 benyjr
  • 新增:旋钮支持
  • 修复:Android < 5 中的崩溃
  • 修复:双重按钮触发以及回车/旋钮点击映射为 DPad 中心
  • 增强:自助模式下的 Android Auto 启动现在始终尝试所有方法并捕获错误
  • 修复:自动启动、连接丢失叠加层、toast 和 API17 蓝牙崩溃。感谢 @andrecuellar
  • 新增:断开连接时退出应用的功能/设置,感谢 @Tilak-03 和 @andrecuellar
  • 增强:Wi-Fi 设置重定向已移除。现在仅显示 toast 消息
  • 修复:样式错误

v.2.0.2

  • 修复:60FPS 从未应用
  • 修复:SSL 握手修复截断消息
  • 新增:应用本身的暗模式和极暗模式设置,感谢 @andrecuellar!
  • 移除:应用 category=“maps”,以便导航按钮再次识别应用
  • 修复:多个按钮事件和双击/三击跳过
  • 修复:USB 权限请求,感谢 @Bastel2020
  • 新增:禁用拉伸以适配的设置。这将修复某些设备的错误渲染,感谢 tsabaia
  • 修复:旧设备在非全屏模式下的触摸屏准确性
  • 修复:当 dpi 较小且屏幕较宽时,主屏幕上出现的巨大图标按钮

v.2.0.1

  • 修复:现代设备上出现的多个音量滑块(Pixel 9 修复)
  • 新增:媒体按钮模拟支持(SWC 改进,适用于 MacroDroid 等)
  • 新增:应用快捷方式和深度链接用于完全退出应用 (headunit://exit)
  • 新增:改进的 Wi-Fi Direct 可靠性,通过递归发现和 ping 交接实现
  • 新增:罗马尼亚语翻译 🇷🇴,感谢 @LeeWiu
  • 合并拉取请求 #189:添加导航消息处理,感谢 @Bastel2020
  • 合并拉取请求 #215:修复 USB 重新连接竞争条件和 AA 退出后的陈旧加密狗数据,感谢 @andrecuellar
  • 合并拉取请求 #205:修复网络变化时的无线加密狗断开,感谢 @andrecuellar
  • 合并拉取请求 #216:添加蓝牙 SCO 麦克风支持,感谢 tgigli

v.2.0.0

  • 新增 Wi-Fi Direct (P2P):支持。将手机连接到 headunit,无需共享网络或热点。headunit 现在自动成为 P2P 对等体。
  • 重构连接核心:使用新的 CommManager 完全重写了内部连接处理。提高了稳定性、更快的握手和更好的协程集成。
  • 增强全屏逻辑:可选择 “沉浸式”(隐藏所有)、“仅状态栏”(保留导航栏)或 “无”。改善了之前按钮被遮挡设备的兼容性。
  • 新增自动优化向导:自动为你的特定硬件推荐最佳分辨率、DPI 和编解码器。
  • 新增早期 MediaSession 初始化:修复了音频路由问题,即手机有时会通过自己的扬声器而不是 headunit 播放声音。
  • 新增新的日志系统:集成了日志级别控制和文件捕获,便于调试。
  • 重要:修复自助模式中 Android Auto 16.4 的意图问题。在 Wireless Helper 中也需要更新至 1.2.0

v.1.15.1

  • 新功能:新增自动优化向导,自动为你的硬件找到最佳分辨率、DPI 和编解码器设置。
  • Bug 修复:修复了自助模式在离线/热点场景下启动失败的问题(网络 ID 0 修复)。
  • Bug 修复:改进了音频路由。手机现在更有可能在连接时立即将音频路由到 headunit,通过使用早期初始化的 MediaSession 和远程播放元数据。
  • Bug 修复:修复了 GPS 速度计算。之前由于错误的单位转换(使用了节而不是 mm/s),速度被加倍。
  • UI:改进了小屏幕上的设置可读性,允许多行描述。

v.1.15.0

  • 新增阿拉伯语翻译,感谢 A5H0
  • 新增用于设置地图日/夜模式的意图
  • 为旧设备添加新的窗口标志,最终解决了全屏问题
  • 新增意图使 headunit 将应用识别为导航应用
  • 新增 LegacyOptimizer,它将更直接快速地处理单核 CPU 的任务。应能提升 Android 4.1 - 4.4 设备的性能
  • 修复了 BT 权限 Bug
  • 更改了暮光计算器,以便在自动模式下更好地切换日/夜,防止屏幕过亮
  • 添加更多媒体会话逻辑,以获取音频焦点和音频路由
  • 合并连接屏幕上的重试按钮,感谢 @andrecuellar
  • 合并 USB 自动连接功能,感谢 @andrecuellar

v.1.14.3

  • 自动化: 为 Samsung Modes & Routines 支持添加应用快捷方式。
  • 导航: 正式注册为导航提供程序(兼容 NAV 按钮)。
  • 稳定性: 通过改进内部数据处理和内存管理,修复了罕见的应用冻结问题。
  • 兼容性: 改善了对 Amazon Fire 平板和没有 GPS 设备的硬件支持。

v.1.14.2

  • Bug 修复:通知和退出按钮无法关闭应用
  • 改进:移除旧的遗留不可见蓝牙设置,防止蓝牙始终启动

v.1.14.1

  • 改进:将 USB 自动连接集成到 “自动连接上次会话”。应用现在表现得像原生的 headunit,在启动或插入 USB 时自动连接。
  • 新功能:新增 USB 软重置

相似文章

本田思域与邪恶泊车员

Hacker News Top

一位安全研究人员揭示了本田思域车载信息娱乐系统(headunit)会接受使用公开已知的AOSP测试密钥进行的未签名更新,从而使得通过物理USB访问可以实现“邪恶泊车员”(evil valet)攻击。还发布了如ota-builder和apk-rebuilder等工具,以方便进一步的逆向工程。