OnePlus 3T 从解锁 BootLoader 到 Xposed
Preface
原来的手机(HTC 802t)可能是到寿命了吧,开始时不时的出现 前台服务(Foreground Service)被系统Kill掉、手离开触屏后触点依然存在 的问题,再加上硬件老化,手机运行速度已经越来越慢了。于是,我就买了个新手机:OnePlus 3T。这款手机在欧美评价不错,XDA上也已经有不少 root / xposed 的帖子了。这篇blog就用来记录一些操作过程包括:
- 解锁 BootLoader
- 安装 TWRP(Team Win Recovery Project) Recovery
- 卡刷 phh’s Superuser
- 卡刷/安装 Google 全家桶(OpenGApps Micro, 微小桶)
- 卡刷 Xposed
注: 新手机开机后会要求选择系统语言,由于我选择的是英文,所以下面的操作步骤中 手机里显示英文的地方仍然以英文记录下来。
免责声明:作者不对本文内容的准确性做任何保证,读者因以任何方式使用本文内容导致的一切后果均由读者自行承担。
准备工作
先不要急着开机,做好准备工作再说。
-
下载并安装好 Android SDK,在 Android SDK Manager 内安装
platform-tools
(platform-tools 里面提供了后续步骤所需的fastboot
命令行工具),可选安装tools
(里面的adb
用来安装 apk / 与手机传送文件)。 -
TWRP Recovery https://dl.twrp.me/oneplus3t/ Direct link
twrp-3.0.3-0-oneplus3t.img
-
root 卡刷包 / root 权限管理软件
- phh’s Superuser
开源,刷这个包时候会修改手机内的
boot.img
,目前不兼容 Lucky Patcher 之类的东西。
下载 卡刷包
下载 Superuser 管理软件 - Chainfire’s SuperSU 闭源,目前最傻瓜化的 Superuser 解决方案。
- phh’s Superuser
开源,刷这个包时候会修改手机内的
-
OpenGApps 卡刷包 打开 OpenGApps.org,按照下面的参数进行选择后再下载:
参数 值 Platform ARM64 Android 6.0 Variant micro micro
将包含以下App:- Google Calendar (将替换掉原厂ROM自带的程序)
- Google Now Launcher
- Google Package Installer
- Google Play services (OnePlus 3T 的 HydrogenOS 自带 Play Services,也会被替换掉)
- Google Search
- Google Text-to-Speech
- Gmail
- Hotword
-
为 Xposed 的安装准备如下文件:
- Xposed installer 卡刷包
- Xposed uninstaller 卡刷包
注:下载最新的 带有
arm64
字样的zip文件。 - [OFFICIAL] Xposed for Lollipop/Marshmallow on XDA-Developers
注:在帖子中找到
XposedInstaller_3.1.1.apk
并下载。
-
My Android Tools 因为 HydrogenOS 不允许禁用 手动安装/部分系统自带 的App,所以需要借助它来完成。注:该App需要root权限。
开机
开机后会要求用户进行一些设定,能跳过的就跳过,包括 连接WiFi、指纹解锁。然后禁用手机内置的百度输入法,按照如下步骤操作:
- 打开
Settings -> Language & input
- 点击
Current Keyboard
后选择English (US) Android Keyboard (AOSP)
- 在
Input Method
里找到百度输入法
然后点击它,将会弹出百度输入法的预设定界面 - 触摸
Home
键,这会使百度输入法会在通知栏发出一个通知 - 展开通知栏,长按百度输入法的通知,然后点击右侧的
i
图标,这将打开对百度输入法的通知进行设定的界面 - 点击百度输入法图标右侧的
i
图标,这会打开百度输入法的App info
界面 - 点击
Disable
即可
解锁 BootLoader
警告:解锁BootLoader将会清除手机上的所有用户数据!
- 打开
Settings -> About phone
,滚动到最下面 找到Build number
- 多次点击
Build number
直至出现 Toast 内容为No need, you are already a developer.
后停止点击。 - 回到
Settings
,滚动到最下面,点击Developer options
- 找到
OEM Unlocking
后点击它,然后会提示用户是否要这么做,确认即可 - 手机关机,然后 同时按住
VolumeUp + Power
键,这将会进入fastboot
模式,然后松开VolumeUp
和Power
键 - 使用 OnePlus 3T 自带的数据线连接将手机和电脑连接上
- 进入目录
Android SDK 文件夹/platform-tools/
,找到fastboot
文件(Windows 则为fastboot.exe
),执行如下命令,这将会解锁手机并清除手机上的所有用户数据:然后在手机上按照手机上的提示进行解锁。fastboot oem unlock
至此手机已经解锁完毕,手机将会重启至 Android 系统。
安装 TWRP / phh’s Superuser / Google 全家桶(OpenGApps)
准备工作
将下面列表里的卡刷包传送至手机,既可以以MTP的形式传输到手机,也可以用 adb
命令行工具来传输。
首先,与读者进行文件名的协商,协商好的文件名将在后续步骤中被使用。如下:
东西 | 卡刷包文件名 |
---|---|
TWRP Recovery (这个不需要传到手机里) | twrp.img |
phh’s Superuser | superuser.zip |
Open GApps | opengapps.zip |
安装 TWRP
- 将前面准备的
twrp.img
文件放到和fastboot
同级目录下,然后执行下面的命令将twrp.img
刷入手机 并 引导手机启动至 TWRP Recovery(Linux 需要root权限来执行):fastboot flash recovery twrp.img fastboot boot twrp.img
- 待 TWRP 启动后,会询问
Keep System Read only?
,直接滑动下面的Swipe to Allow Modifications
即可。 注:xda论坛上的教程贴里提到了 ‘Allow Modifications 将会触发 dm-verity,会导致手机无法启动到Android系统’。我右滑Swipe to Allow Modifications
后直接重启手机到Android系统,并没有出现上述问题。
卡刷 phh’s Superuser / Google 全家桶(OpenGApps)
- 现在看到的界面应该是 TWRP 的主界面
- 点击
Install
,在文件列表寻找前面准备工作里传输到手机里的superuser.zip
,并点击superuser.zip
- 现在 TWRP 会询问用户是否刷入这个zip包,先不急
- 点击
Add more Zips
,然后找到并点击前面准备工作里传输到手机里的opengapps.zip
- 向右滑动
Swipe to confirm Flash
,这将会把superuser.zip
和opengapps.zip
刷入手机 - 操作完成后 点击屏幕上的
Home
键回到主界面 - 点击
Wipe
,然后点击Advanced Wipe
- 只勾选
Dalvik / ART Cache
和Cache
- 向右滑动
Swipe to Wipe
,这将清空 ART Cache 和 Cache,确保 Google 全家桶能正常工作 下面的操作将 “禁用” SetupWizard.apk,以免重启后出现不显示桌面的问题。 - 操作完成后 点击屏幕上的
Home
键回到主界面 - 点击
Mount
,勾选System
,然后点击屏幕上的Home
回到主界面 - 依次点击
Advanced -> File Manager
,然后定位到/system/priv-app/SetupWizard/
- 点击列表里的
SetupWizard.apk
,然后点击Rename File
,设定新的文件名为SetupWizard.apk.bak
,点击屏幕键盘上的对号按钮,向右滑动Swipe to Confirm
,至此 文件名修改完成。 - 上面的操作完成后,点击屏幕上的
Home
键回到主界面 - 依次点击
Reboot -> System
,稍后 手机将重启并进入Android系统
安装 phh’s Superuser 管理软件
把 phh’s Superuser 管理软件的apk传输到手机,然后使用系统自带的文件管理器安装即可。
如果提示无法安装 需要启用 Unknown sources
,请到 Settings -> Security & fingerprint
,点击 Unknown sources
,然后按照提示操作即可。
配置 Google 全家桶(OpenGApps)
由于系统自带的 Google Play Services 默认情况下是禁用状态,需要使用 My Android Tools
来启用它。
- 将
My Android Tools
的 apk 传输到手机里,并使用自带的文件管理找到并安装它。 - 打开 My Android Tools,点击
Apps
(如果没有,则从屏幕左边向右滑即可),选择Disabled
选项卡 - 点击
Google Play services
,在弹出的窗口中点击Enable
,这时会弹出root权限申请界面,点击Allow
即可。 - 向上面第3步那样,对其余的以
Google
字样开头的列表项执行相同的操作 - 回到桌面,启动
Play Store
,然后按照提示登录自己的Google帐号
安装 Xposed
本段内容将会用到 xposed 的一些文件,现与读者为文件名做如下约定:
原文件名 | 本段落中使用的文件名 |
---|---|
xposed-v<数字> -sdk23-arm64.zip |
xposed-install.zip |
xposed-uninstaller-<数字> -arm64.zip |
xposed-uninstall.zip |
XposedInstaller_<版本号> .apk |
xposed.apk |
请读者确保下载的文件均为最新版,下载到的文件与上面的原文件名里的 这种字体
之外部分的文件名 相同即可。
- 将
xposed.apk
传输到手机里并安装它,不需要启动它 - 将
xposed-install.zip
和xposed-uninstall.zip
传输到手机备用。 - 按住
VolumeUp + Power
键重启手机到 fastboot 模式 - 像之前 卡刷 phh’s Superuser / Google 全家桶(OpenGApps) 一样,把
xposed-install.zip
刷入手机 - 重启手机到Android系统
- 打开App
Xposed Installer
,不出问题的话,界面上应该显示Xposed Framework version xx is active.
若没能进入到Android系统,或者说 Android启动动画一直循环,请进入 Recovery 并刷入 xposed-uninstall.zip
来卸载 xposed。
禁用 dm-verity
有以下两种情况需要禁用 dm-verity:
- 修改系统分区的文件并重启后 卡在1+图标的界面,手机也不发热,有可能就是触发了 dm-verity。
- Root Explorer 无法修改
/system
分区的文件。
解决方法也很简单:到 no-verity-opt-encrypt 下载最新版的zip包,然后重启手机到 recovery,然后把这个包刷进去,然后重启手机即可。
修改系统DPI值
修改DPI值目的是为了不改变屏幕大小的情况下,在屏幕内放下更多的内容。也就意味着:屏幕上显示的内容所占屏幕的比例会更小,说白话就是字和图片之类的会变小些。
有两种方法实现这个功能:
- 执行命令:
虽然重启手机后就能生效,但会导致一些App在显示一些图片时候出现大小不对 / 错位之类的问题。
su wm density <dpi>
- 修改文件
/system/build.prop
。同样也有缺点:需要清空 ART Cache / Cache / Data 再进进入系统 才能避免1里面提到的问题。
综上,为了尽可能完美的修改DPI值,我选择第二种方法。具体做法如下:
- 用 Root Explorer 打开并编辑
/system/build.prop
,在文件末尾加上下面这行文字:
比如我写的是qemu.sf.lcd_density=<dpi>
qemu.sf.lcd_density=440
,至于这个值多大,看个人喜好而定。
可以用上面提到的执行命令的方式修改DPI,然后重启手机看下效果。如果觉得看着不错 就把数值写到build.prop
里。 - 重启手机到 recovery,wipe
Dalvik / ART Cache
Data
和Cache
,然后重启手机即可。
注:如果无法在 Root Explorer 里修改的话 需要刷个包,请移步 这里。
Tips & Tricks
- 长按电源键 8 秒将强制关机。
- xda论坛上也有说 长按电源键约 40 秒来强制关机。
- BootLoader 解锁后,开机时候可以在5秒钟内按音量键来进入 fastboot / recovery 之类的。
- 双击电源键将打开照相机,按任意音量键拍照。
- 屏幕截图:同时按下 Power+VolumeDown 一小会儿。
更新历史
04 Jan 2017: 首次发布
14 Jan 2017:
- 添加:禁用dm-verity的方法。
- 添加:修改系统dpi值的办法。
- 去除:准备工作里提到了adb却没有使用它,于是去掉有关adb的废话。
- 添加:Tips & Tricks: 第5条 屏幕截图
References
- [W.I.P][INDEX]OnePlus 3T Resource - xda-developers
- TWRP Recovery for OnePlus 3T
- phh’s SuperUser / OpenSource SELinux-capable SuperUser - xda-developers
- Open GApps - opengapps.org
- Open GApps on GitHub
- Open Gapps Package Comparision
- Open GApps Micro Package Description
- Solution for “Unfortunately, setup wizard has stopped working” - Open GApps FAQ - Open GApps Wiki
- My Android Tools on Google Play
- My Android Tools on apkpure.com
- Verified Boot(dm-verity) - source.android.com
- no-verity-opt-encrypt zip download
- [Recovery] Official TWRP for the OnePlus 3T - xda-developers
- [GUIDE] How to install Xposed on OxygenOS 3.5.3 w/TL;DR - xda-developers
#OnePlus #Android #BootLoader #Xposed #TWRP Recovery #OpenGApps