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 CacheData和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