Skip to content

AndroidPlay-1.1.0

Choose a tag to compare

@Roylyl Roylyl released this 30 Sep 12:20
· 1 commit to main since this release

AndroidPlay1.1.0更新日志与使用教程

版本:1.1.0(构建41)
更新日期:2026年9月30日
项目地址:Roylyl/AndroidPlay

AndroidPlay将Android手机或车机作为无线CarPlay接收端,由iPhone提供CarPlay界面。连接使用Android移动热点和蓝牙:**Android开启热点,iPhone连接该热点,两端完成蓝牙配对。**本教程对应1.1.0,不适用于旧版本的所有界面。

1.1.0更新日志

页面与操作

  • 首页精简为“打开CarPlay”“自动获取热点信息”“CarPlay设置”三个入口。
  • 首页和各级设置页统一圆角卡片、背景、标题及间距,支持横竖屏旋转。
  • 设置使用应用内下一级页面,进入与返回加入220ms滑动和淡入淡出动画;系统关闭动画时直接切换。
  • 删除“连接设置”页面,将“检查应用权限”和“断开连接”直接放入CarPlay设置。
  • 移除CarPlay主题设置和三指下滑返回手势。

连接与显示

  • 设置变更后点击“打开CarPlay”,先结束旧会话,再使用当前参数重新协商。修改设置本身不自动连接。
  • 主动或被动断开后关闭CarPlay画面,结束音频接收与系统媒体会话,回到AndroidPlay首页。
  • 连接前尝试请求开启系统移动热点;系统不支持、拒绝或超时时,引导用户手动开启。
  • 自动读取热点信息失败时,直接弹窗让用户输入实际热点名称和密码。
  • CarPlay默认只允许横屏,可在“显示方向”中选择竖屏。
  • 默认上报系统报告的最高物理分辨率,物理尺寸按屏幕像素密度换算,不使用界面缩放倍率或旧的200mm参考值。
  • 保留30fps、60fps、90fps和120fps。高帧率请求失败时按120→90→60回退,仅影响本次连接,不修改设置中的档位。
  • 收到视频并采样后,通过系统Toast显示实际输出尺寸与运动峰值估算档位,例如实际参数:1920*1080|60 fps。

音频与系统媒体控件

  • 新增输入、输出设备选择,默认使用系统默认设备。
  • 媒体和通话音量支持拖动时实时调整;音乐与导航使用媒体音量,通话使用通话音量,Siri维持原有音频通道。
  • 向Android系统媒体控件同步歌曲信息、专辑封面、播放状态、时长和进度,支持回传播放、暂停、切歌及音乐App允许的进度跳转。
  • 封面与标题独立更新,歌词或进度变化不会重复替换封面,避免上一首的迟到封面覆盖当前歌曲。
  • QQ音乐等App通过标题字段上报的歌词,可在系统媒体控件标题位置显示;未接入独立歌词字段。

使用前准备

项目 要求
Android设备 Android9及以上,具备移动热点、蓝牙和视频解码能力
iPhone 支持CarPlay,打开Wi-Fi与蓝牙,允许CarPlay连接
热点 Android端开启WPA2移动热点,密码为8至63位
安装包 包含可用CarPlay认证资源的AndroidPlay1.1.0APK

建议开启Android热点时不要同时连接其他无线局域网,以免降低连接稳定性。

包含认证资源的APK安装后无需再导入证书。自行编译源码时,需先提供有权使用且匹配的认证文件;无认证的源码检查APK不能连接CarPlay。构建方法及认证前提见项目README。

首次连接

  1. 安装AndroidPlay-1.1.0.apk,打开应用,按系统提示允许所需权限。
  2. 在Android系统设置中开启WPA2移动热点,让iPhone连接该热点。
  3. 两端打开蓝牙,在系统蓝牙设置中完成首次配对,并确认两端配对码。
  4. 回到AndroidPlay,点击“自动获取热点信息”。如果弹出手动输入框,填写与Android系统热点完全一致的名称和密码。
  5. 打开“CarPlay设置→iPhone选择”,选择已配对的iPhone。
  6. 回到首页,点击“打开CarPlay”。如提示开启热点,按提示操作;在iPhone上确认允许CarPlay,等待画面出现。

Android16及以上会尝试通过系统接口申请开启移动热点。旧版系统或不允许该操作的设备会引导到系统设置;返回应用后继续连接。如果系统无法读取热点开关状态,请按提示确认热点已开启。

收到视频后,滑动页面或观察动画,应用按约1秒窗口采样,并记录本次解码期间的最高帧率,显示例如实际参数:1920*1080|60 fps。分辨率来自实际解码输出;帧率取最接近运动峰值的30/60/90/120fps档位,静态页面不会使已记录的档位降低。峰值不足20fps时暂不显示。该档位是输出能力的估算,不是握手确认值,也不是屏幕刷新率;网络或解码瓶颈可能造成低估。提示样式和最终位置由Android系统管理。

日常操作

  • 打开CarPlay:未连接时发起连接;已有会话且设置未变更时回到画面。
  • 自动获取热点信息:读取本机热点名称和密码;失败后手动填写。
  • CarPlay设置:选择iPhone、帧率、显示方向、声音设备,检查权限或断开连接。
  • 修改设置后应用:返回首页,再点击“打开CarPlay”,应用会按新设置重新协商。音量和音频设备仍可实时生效。
  • 返回AndroidPlay:在CarPlay中选择AndroidPlay入口,可返回应用首页并保持连接。Android返回键优先发送CarPlay返回操作。
  • 断开连接:进入“CarPlay设置→断开连接”。断开不会关闭Android系统热点,如不再使用,请自行关闭热点。

CarPlay设置说明

iPhone选择

从系统已经配对的设备中选择目标iPhone。设备未出现在列表中时,先检查蓝牙开关和附近设备权限,再到系统蓝牙设置完成配对。

帧率

默认60fps,可选30fps、60fps、90fps和120fps。选择只保存偏好,不会立即停止或启动连接。

选择120fps时先请求120fps;开始CarPlay协商后20秒未启动视频,或出画面前会话结束,则尝试90fps,再失败则尝试60fps。选择90fps时失败后尝试60fps。回退不修改用户保存的选项,下次新连接仍从保存的档位开始。

配对前失败、主动断开或成功出画面后的断线不触发帧率降档。90fps和120fps为实验性请求,实际高帧率输出尚未测量确认;该设置不插帧。

显示方向与画面大小

AndroidPlay首页和设置页允许横竖屏旋转。CarPlay默认横屏,选择“CarPlay设置→显示方向→竖屏”后,返回首页点击“打开CarPlay”应用新方向。CarPlay只在所选方向内旋转。

应用没有界面缩放设置,会按所选方向上报物理像素与屏幕尺寸。尺寸精度依赖Android设备驱动,不能将上报参数等同于iPhone内部渲染分辨率。

如果CarPlay中有“设置→显示屏→智能缩放显示”,可在那里调整iPhone端的界面布局。开关前后可能改变图标大小、布局和内部渲染尺寸;这是iPhone端的功能,与AndroidPlay已移除的倍率设置不同。不同iOS版本可能不提供这一入口。

声音

进入“CarPlay设置→声音”:

  • 媒体音量控制音乐与导航提示。
  • 通话音量控制通话声音。
  • 输入设备选择麦克风,输出设备选择扬声器或耳机。
  • 首次安装均为系统默认设备;设备列表来自Android当前可见的音频设备。

拖动音量滑块立即生效。设备拔出后暂时使用系统默认路由;实际可用通道由系统和设备驱动决定。

系统媒体控件

连接后在iPhone上播放音乐,可在Android通知栏、锁屏或系统媒体控件查看播放信息,并控制播放、暂停与切歌。

只有音乐App上报时长且允许跳转时,系统进度条才可拖动;操作会发送给iPhone,后续进度以iPhone更新为准。歌曲标题变化不会直接清空封面。QQ音乐通过标题传送歌词时,标题会随歌词更新。

封面、歌词、时长和进度依赖音乐App提供的数据。App未提供时,相应字段可能为空,不同Android系统的控件布局也可能不同。

常见问题

情况 处理方法
自动获取热点信息失败 在弹窗中填写系统热点的实际名称和密码
找不到iPhone 检查蓝牙及附近设备权限,先在系统中完成配对
点击打开后连接失败 检查iPhone是否接入Android热点、两端是否配对、热点信息是否一致,并记录具体错误提示
修改设置后画面未变化 返回首页再次点击“打开CarPlay”,等待重新协商
没有麦克风输入 进入“CarPlay设置→检查应用权限”,允许麦克风权限,再检查输入设备
没有封面或不能拖动进度条 检查音乐App是否提供相应数据及跳转能力;不支持的字段无法强制生成
升级时提示安装失败 不同APK签名可能无法覆盖安装;卸载会清除本机设置,操作前确认需要保留的信息

验证范围

当前1.1.0已完成本地APK构建与针对性代码检查。历史版本已有真实设备连接记录;本次新增的竖屏布局、菜单动画、设置后重新协商、Toast及完整系统媒体同步流程,尚未全部完成Android与iPhone真机联调。实际90fps/120fps输出与所有厂商设备兼容性也未确认。

最新说明与验证记录请查阅项目README及仓库docs/目录。