教程: 解锁多亲手机 2 (Pro) 并安装第三方 ROM
January 14, 2020•633 words
以下教程适用于多亲手机 2 (Pro),包括解锁并安装第三方 ROM。目前可用的第三方 ROM 有且只有 GSI (Generic System Image, 通用系统镜像)。
感谢 4PDA 上数位大神的努力让这个手机终于可以解锁,包括但不限于 @ruslang_3_
, @xkubus
, @0xMihalich
, 和 @som_bbs
。以下内容完全基于 4PDA 上分享的文件和发现。详情请参考这篇文章.
注意,我只在标准版多亲手机 2 和 多亲手机 2 Pro 2+32G 上测试过解锁。2+64G 版本暂时未测试,尽管应该不会有什么区别。
在阅读教程并开始操作之前,建议您先阅读文末的 FAQ。
环境要求
- Linux 系统 (或者虚拟机,不确定 WSL 是否可行)
- Windows 系统 (或虚拟机)
- 多亲手机 2 或者 多亲手机 2 Pro
- Linux Shell 常识
- 能够下载 Mega 和 Google Drive 上的文件;请不要让我浪费时间搬运所有文件到百度盘。
解锁
(进入 Linux) 下载 Android_device_unlock.rar, 解压到一个目录并
cd
进去这些文件来自于 4PDA 上的
@ruslang_3_
(链接)。在此我只是镜像了这个文件,因为不是所有人都有 4PDA 帐号。用 adb 重启手机到 bootloader 模式 (
adb reboot bootloader
)在解压出来的目录中,运行
./fastboot oem get_identifier_token
。必须使用这个目录里的fastboot
。这个命令会有如下输出,请保存
XXXXX
部分。注意如果XXXXX
部分有两行 (OKAY
之前),请把两行连在一起,不要任何空格或者换行。... Identifier token: XXXXXXXXXXXXXXXXXXXXXXXXXXXX OKAY [ 0.017s] finished. total time: 0.017s
运行
./signidentifier_unlockbootloader.sh ${TOKEN} rsa4096_vbmeta.pem signature.bin
, 把${TOKEN}
换成前一步得到的东西。运行
./fastboot flashing unlock_bootloader signature.bin
.手机上会出现解锁提示,请按照它的指示操作,按下对应的按钮确认解锁,之后耐心等待解锁成功。解锁完毕之后,手机将会自动重启,但是会卡在启动界面。这是 正常现象,请继续阅读本教程。
(进入 Windows) 下载 Qin2Pro_s9863a1h10_v1.1.0.zip (多亲 2 Pro) 或 Qin2_china_test2.7z (多亲 2)
解压得到我们需要的
.pac
文件。这些文件由 4PDA 上的@ruslang_3_
和@xkubus
提供。下载 SPD_Research_Tool_R23.19.3301 .7z
解压得到展讯的
ResearchDownload
工具和需要的驱动。在此不再赘述如何安装压缩包中的驱动。(如果遇到驱动不能用的问题,可以自行搜索其他地方提供的 ResearchDownload 和配套的驱动。)打开
ResearchDownload
, 用第一个按钮打开之前下载的.pac
刷机包,并等待载入文件载入之后,点击第二个按钮,取消勾选
EraseUBOOT
和EraseUBOOTLOG
。点击开始按钮, (多亲 2 Pro) 按住
电源 + 音量+
或 (多亲 2) 按住电源 + AI按钮
, 直到ResearchDownload
检测到设备当设备检测到之后,请松开按钮
等待
ResearchDownload
完成刷机,之后手机会自动重启回官方 ROM
至此,您的手机已经解锁,并可以使用 fastboot
刷入未签名的系统镜像。但是,您仍然无法刷入非官方的 boot
和 recovery
镜像 (system
镜像可以随意刷入,不受影响)。本文末我会讨论这个问题。
刷入 phh GSI 镜像
注意: GSI 支持 (包括 10 和 9) 仅在上一节提到的官方底包上测试通过 (Android 9 底包, 中国版本)。使用其他版本的底包没有保证。
下载 GSI 镜像
目前,所有基于 Android 9 的 GSI 都应该可以启动,而基于 Android 10 的镜像则需要至少同步到 phh 的
v209
。你可以在 这里 下载 phh 的 GSI。请注意,在普通的多亲手机 2 上,你需要arm32_binder64
版本,而多亲手机 2 Pro 则是arm64
版本。两者都需要ab
版本的镜像。(A / B 系统分区)将手机重启到 Recovery,清除数据
非常重要,因为 Bootloader 模式下的清除数据功能不正常,会导致 GSI 无法启动。你无法从 Bootloader 重启到 Recovery。使用
adb reboot recovery
重启到 Recovery,当出现机器人图标的时候,按住电源 + 音量+
进入 Recovery 菜单。重启到 Bootloader,运行
fastboot flash -S 100M system /path/to/your/system.img
刷入 GSI 镜像-S 100M
非常重要,没有无法成功刷入。另外请注意下载到的文件 (.xz
) 需要解压得到真正的.img
镜像。运行
fastboot reboot
重启到系统如果你选择刷入的 GSI 无法启动,请先试试看
adb
是否可用。如果可用,你可以用adb reboot recovery
重启到 Recovery 并从头再来。如果不可用,你可以 (1) 用ResearchDownload
恢复到官方 ROM 从头再来; 或者 (2) 拆开手机,重新插拔电池,并使用电源 + 音量-
启动到 Recovery。
在多亲手机 2 Pro 上,phh GSI v209 和之前的版本可能会有系统随机崩溃的问题。目前的临时解决方案是通过 Magisk 模块设置 ro.config.avoid_gfx_accel=true
或者手动编辑 build.prop
。你也可以安装我在下面提供的我自己构建的版本,或者等待 phh GSI 合并我对这个问题的修复。
这里 有我自己编译的 phh GSI 10 镜像。这些镜像可能含有目前还没有合并进 phh GSI 的 bug 修复,并且由我自己的密钥签名而不是 testkeys
。这些镜像里有 Google Apps 但是没有 su
,因为我日常只使用 Magisk。我不保证定期更新这些镜像,而且这些镜像也不能直接和 phh GSI 互刷 (i.e. 互刷之前需要清除数据)
Magisk (仅多亲 2 Pro)
在多亲手机上安装 Magisk 比较复杂,需要手动编辑 vbmeta
。在此我只提供适用于多亲 2 Pro 的修改后的版本;如果你想在普通版多亲 2 上使用 Magisk,请参考 这篇文章 自行制作。 (如果你 只需要 ROOT, 你并不一定要安装 Magisk。phh 的 GSI 10 都包含 ROOT,而 9 的所有带 -su
结尾的版本也都包含 ROOT).
Note: 4PDA 上的 @xkubus
为普通版多亲 2 (非 Pro) 制作了带 Magisk 的镜像。如果你想要在 GSI 上使用他的 Magisk,你可以用 ResearchDownload
从他的固件里提取出 vbmeta.img
和 recovery.img
(提取方法请自行搜索), 然后按照下面的方法刷入。
下载 vbmeta_signed.img 和 magisk_rec_v20.3.img (最后更新: 2019-01-16) (以上文件仅适用于 Pro, 并且请不要尝试在 ResearchDownload 中使用这两个文件).
这个
vbmeta
包含我自己的密钥对boot
和recovery
的签名,刷入之后将无法直接刷官方或者其他人的boot
和recovery
。你需要恢复官方的vbmeta
或者安装你的镜像的作者的vbmeta
才能刷入其他boot
和recovery
镜像。因此,不要 尝试在 ResearchDownload 中使用这两个文件。运行
fastboot flash vbmeta vbmeta_signed.img
运行
fastboot flash recovery magisk_rec.img
运行
fastboot reboot
,当重启到系统以后,再次执行adb reboot recovery
,此时手机将重启到有 Magisk 的系统
在这个手机上,Magisk 只能安装到 recovery
,因为 boot
不包含 ramdisk。每次启动的时候,如果想要使用 Magisk,你 必须 启动到 recovery
(电源 + 音量+
)。重启的时候,请一定要记得重启到 Recovery 而不是 System,因为在重启的过程中无法切换到 Recovery。如果你需要使用原来的 Recovery 而不是启动到带 Magisk 的系统,请在启动 Recovery 出现多亲 LOGO 的时候按住 音量+
。
FAQs
为什么不做一个包含第三方 ROM 和 Magisk 的
.pac
刷机包? 用.pac
甚至不需要解锁。简单地说,因为我懒,而且我有很多其他事情要做。我没有心思对所有 GSI 镜像维护并更新一个
.pac
文件,而且我日常也没法使用ResearchDownload
(我不用 Windows)。解锁之后,你可以自己用fastboot
尝试任何镜像。刷机会变砖吗?
我不知道,并不对使用该教程造成的任何后果负责。
在普通版多亲手机 2 上的 GSI 为什么有点奇奇怪怪而且有好多功能没法使用?
请看 这里
EdXposed 最新版本即使在 Magisk v20.3 上也无法使用
Magisk 新引入的 sepolicy 覆盖功能无法在这个设备上运行,因为没有
persist
挂载点。目前的临时解决方法是打开 SELinux Permissive 模式。您可以尝试使用这个模块 magisk_permissive.zip在 GSI 上 AI 按钮没有什么用。可以自定义这个按钮的功能吗?
可以,请使用这个 Magisk 模块 ai-remap. 当通过 Magisk Manager 安装这个模块的时候,它会提示您设置自定义 AI 按钮功能。本模块修改自 bixby remap.
为什么没有导航栏?
运行
setprop persist.sys.phh.mainkeys 0
GSI 上移动网络只有 3G/2G 信号,没有 LTE
请在设置 - 网络里手动选择 LTE 网络类型
没有 VoLTE
很抱歉,由于展讯 (和 MTK) 的 VoLTE 实现过于依赖他们特殊的框架 (làn), 第三方 ROM 目前无法实现 VoLTE 支持。
蓝牙音频和听筒不能用
我在上面「刷入 GSI」一节提供的我自己构建的 GSI 已经包含了修复 (20200123 以后)。我已经给 phh GSI 提交了补丁 (https://github.com/phhusson/platform_frameworks_av/pull/5), 目前已经合并进 phh GSI,待下次更新即可(其他 GSI ROM 预计也会跟进)
为什么不做个 TWRP?
理由有两个:
1. 在这个设备上第三方 Recovery 没什么意义,因为当系统坏掉的时候你没有办法重启进 Recovery,除了拔电池冷启动或者使用
ResearchDownload
从头再来。
2. 我尝试做了 TWRP,但是它没法识别任何输入事件,触屏和按钮都不能用。整个网络上只有一个奇怪的自动移植工具可用,但是没有源码,而且它的 TWRP 版本已经是数年之前的了,无法支持这个手机的分区布局,所以没有意义。