重要软硬件操作

  1. 关机、重启:音量键上+关机键

  2. 强制关机:音量键上+下+关机键保持10s

  3. 刷机前请备份Persist分区(该分区保存外置传感器的校准数据,在某些安卓手机中,还会保存Wi-Fi芯片的MAC地址),一加8Pro丢失该分区会造成指纹录入出问题。

降级

请参考OnePlus8P降级教程(Degrade)

恢复模式(Recovery)

请参考OnePlus8/8Pro恢复模式(Recovery)

刷入Magisk完成Root

先刷入临时TWRP,然后刷入"Magisk_10.0_buding.zip"。开机后看到Magisk就root成功。

Root后可用Apps

绿色守护

Root后,不推荐使用黑阈,在我使用一加5时,黑阈还没商业化,那时候用起来很安静,操作很简单,现在商业化后感觉变得不好用了,加上黑阈也推荐root后使用绿色守护。

钛备份

Android10可用钛备份Titanium Backup-Pro-v8.3.3_build_414.apk。使用Android 10又多一个理由。

Magisk Hide

交通银行会提示root不安全,然后强制退出银行APP,这时候使用Magisk Hide对银行APP进行隐藏即可。如果隐藏失效,清除银行APP数据,隐藏设置后,重启手机即可。

内核(Kernel)

请参考OnePlus8P内核使用教程(Kernel)

管理Persist分区

Google Play下载并使用Partitions Backup & Restore完成Persist分区备份或还原。

请确保以下条件再运行指令完成备份操作:

  1. ADB已安装
  2. 手机开发者模式,开启USB调试
  3. 连接手机到电脑
1
2
3
adb shell
su
dd if=/dev/block/bootdevice/by-name/persist of=/sdcard/persist.img

备份文件在手机存储中,可通过文件管理器找到。

确保手机存储根目录存在persist.img,再运行指令完成还原操作:

1
2
3
adb shell
su
dd if=/sdcard/persist.img of=/dev/block/bootdevice/by-name/persist

在临时TWRP终端上输入以下指令完成备份

1
dd if=/dev/block/bootdevice/by-name/persist

备份文件在手机存储中,可通过文件管理器找到。

在临时TWRP终端上输入以下指令还原操作

1
dd if=/sdcard/persist.img of=/dev/block/bootdevice/by-name/persist
相关参考
标题链接
Persist.img file - OnePlus Communityhttps://forums.oneplus.com/threads/persist-img-file.1220975/
Fix fingerprint enrollment issues on the OnePlus 8 series, 7T Pro, morehttps://www.xda-developers.com/fix-fingerprint-enrollment-issues-broken-persist-partition-oneplus-8-pro/

救砖

什么是变砖

变砖有两种:软变砖和硬变砖。

可以进入恢复模式和FastBoot的都是软变砖。

不可以进入恢复模式和FastBoot的都是硬变砖。

变砖英文释义
  • Soft-brick: When rebooting normally, your phone may bootloop, get stuck at the bootscreen or be blank after the bootscreen. You CAN access recovery and/or fastboot.
  • Hard-brick: When rebooting normally, your phone may get stuck at the OnePlus logo, have a blank screen, vibrate or simply show no signs of life. You CANNOT access recovery or fastboot.

出自So you’ve just bricked your OnePlus… : oneplus

救砖环境准备

可以参考【资源组】一加手机全系列9机型线刷救砖资源★附教程 - 资源共享 - 一加手机社区官方论坛

环境准备:高通驱动+ADB+Fastboot+一加驱动

你需要找个线刷包刷入就可以完成救砖:五小时仅耗电2%,一加8最省电版本,手把手教你刷起来 - OnePlus 8 系列 - 一加手机社区官方论坛

ROMs

想要刷入其他作者的ROM,可以参考一加社区中的第三方ROM专区。

个人建议:短期体验下新鲜感没问题,长期稳定使用的话,请选择H2OS 10.5.12.IN11。

一加社区ROMs搬运自XDA社区,因此有英语阅读基础的机油可以参考XDA社区。

[ROM][11][OnePlus8] PixelExperience [AOSP] | XDA Developers Forums

ADB使用

ADB的使用包括安装ADB,关闭下拉通知栏烦人的系统更新提示,解锁设备,进入刷机模式等。

点击查看ADB使用

请参考Using ADB and fastboot | LineageOS Wiki

下载ADB驱动:Universal ADB Drivers。UniversalAdbDriver中包含ADB和fastboot。

请确保以下条件再运行指令:

  1. ADB已安装
  2. 手机开发者模式,开启USB调试
  3. 连接手机到电脑
1
2
3
4
5
6
7
8
#列出已连接的设备,一旦连接成功就会列出设备状态
adb devices
#禁用系统更新
adb shell pm disable-user com.oneplus.opbackup
#清理系统更新的提示
adb shell pm clear com.oneplus.opbackup
#[可选]恢复系统更新
adb shell pm enable com.oneplus.opbackup

请确保以下条件再运行指令:

  1. ADB已安装
  2. 手机开发者模式,开启USB调试和OEM解锁
  3. 连接手机到电脑
1
2
3
4
5
#进入刷机模式
adb reboot bootloader
#解锁设备,该命名会清空手机存储空间,因此要提前备份数据!
fastboot oem unlock
#然后用音量键选择unlock后按关机键确认解锁

请确保以下条件再运行指令:

  1. ADB已安装
  2. 手机开发者模式,开启USB调试
  3. 连接手机到电脑
1
2
#重启手机到Fastboot模式
adb reboot bootloader

Android分区结构

Android分区及对应分区的作用如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
┌─────────────┬───────────────────────────┐  
| Partition | Explanation |
├─────────────┼───────────────────────────┤
| /boot | kernel & Co. |
| /cache | app cache |
| /data | user data partition¹ |
| /data/data | app data¹ |
| /dev | devices² |
| /mnt/asec | encrypted apps (App2SD) |
| /mnt/emmc | internal sdcard³ |
| /mnt/sdcard | external sdcard³ |
| /proc | process information² |
| /recovery | used in recovery mode |
| /system | system ROM (read-only) |
└─────────────┴───────────────────────────┘
相关参考
标题链接
4.0 ice cream sandwich - Android Folder Hierarchy - Android Enthusiasts Stack Exchangehttps://android.stackexchange.com/questions/46926/android-folder-hierarchy
Making sense of your Android phone’s storage foldershttps://www.androidauthority.com/phone-storage-folders-explained-744100/#:~:text=Storage hierarchy,as their own memory partition.
Android partitions explained | XDA Developers Forumshttps://forum.xda-developers.com/t/android-partitions-explained.3657183/

Fastboot

我们的安卓系统是烧录在手机的Flash内存模块中。而Fastboot是一种可以用来直接读写位于Flash内存模块中的各个分区的工具。当然,Fastboot工具还可以用来挂载内核映像或者root文件系统映像。

Fastboot工具提供一些fastboot指令,使用这些指令就可以操作安卓分区和挂载映像了。

常用的fastboot指令如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#查看设备
fastboot devices

#重新开机
fastboot reboot

#重新开机且进入bootloader
fastboot reboot bootloader

#烧录kernel区
fastboot flash boot boot.img

#烧录系统区
fastboot flash system system.img

#烧录vendor区
fastboot flash vendor vendor.img

#烧录persist区
fastboot flash persist persist.img

#烧录用户数据区,包含一些安装的APP
fastboot flash userdata userdata.img

#查询设备的基本信息
fastboot oem device-info

#执行oem的特定命令
fastboot oem [COMMAND...]

#新的安卓设备需要用fastboot flashing unlock指令后才可解锁bootloader开机载入器,使用该指令可能会失去保固和手机资料(包含照片、影片、文件、app),请记得备份
fastboot flashing unlock

#解锁BL
fastboot oem unlock

#查询设备bootloader的某变量
fastboot getvar <变量名>

#查询设备bootloader的所有变量
fastboot getvar all

#切换a/b槽(刷双系统要用到)
fastboot set_active <a/b>

#查看说明
fastboot help

#可将kernel加入到RAM中开机使用,并不会真的烧录进去,这样可以测试看看这个boot.img是否能正常开机,如果无法正常开机只要重新开机就什么复原了。比如一加8P使用这条命令就后开启会进入安全模式,你可以在这里使用临时内核。
fastboot boot boot.img
什么是vendor.img

Every device needs drivers to operate components like GPS, gyro, proximity, and other sensors, right? Developers would have to account for those drivers in their software. Drivers used to be under the system partition. Every app has to locate those drivers independently. Putting device-specific drivers in vendor.img consolidates all that trouble. Plus, as an app developer, I don’t have to pay somebody a license fee to use that trademarked camera or GPS. Vendor images contain device-specific hardware drivers, and universal for all apps within my smart phone or tablet. A ROM developer can create universal ROMs for multiple devices, then users can apply the appropriate vendor images for their own devices. [Ref.]

移动设备都有传感器,比如GPS,NFS,红外等等传感器,这些传感器都需要适配驱动后,APP才能调用它们,因此vendor.img存放适配了特定机型的硬件驱动程序。

相关参考

制作可用Fastboot刷入的一加工厂镜像

点击查看制作可用Fastboot刷入的一加工厂镜像教程

通过payload dumper提取卡刷包的img映像文件,这些文件都可用于在软变砖下(只可进入恢复模式和Fastboot的状态下)使用。

OnePlus8ProH2OS_10.5.12_Fastboot-flashableImages.zip我放在百度网盘上了,所有映像提取自一加8P的H2OS 10.5.12版。所有映像还没全刷入过,不过"fastboot flash boot boot.img"测试过,可以刷回10.5.12的官方内核。

具体刷入命令如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
fastboot flash boot boot.img
fastboot flash dtbo dtbo.img
fastboot flash modem modem.img
fastboot flash recovery recovery.img
fastboot --disable-verity flash vbmeta vbmeta.img
fastboot --disable-verity flash vbmeta_system vbmeta_system.img
fastboot reboot fastboot
fastboot flash abl abl.img
fastboot flash aop aop.img
fastboot flash bluetooth bluetooth.img
fastboot flash cmnlib cmnlib.img
fastboot flash cmnlib64 cmnlib64.img
fastboot flash devcfg devcfg.img
fastboot flash dsp dsp.img
fastboot flash featenabler featenabler.img
fastboot flash hyp hyp.img
fastboot flash imagefv imagefv.img
fastboot flash keymaster keymaster.img
fastboot flash logo logo.img
fastboot flash mdm_oem_stanvbk mdm_oem_stanvbk.img
fastboot flash multiimgoem multiimgoem.img
fastboot flash odm odm.img
fastboot flash opproduct opproduct.img
fastboot flash qupfw qupfw.img
fastboot flash spunvm spunvm.img
fastboot flash storsec storsec.img
fastboot flash tz tz.img
fastboot flash uefisecapp uefisecapp.img
fastboot flash xbl xbl.img
fastboot flash xbl_config xbl_config.img
fastboot flash system system.img
fastboot flash vendor vendor.img
fastboot flash product product.img

如果你需要清空/data分区(即存放APP数据和用户数据的分区),

1
fastboot -w

刷入完了就重启手机

1
fastboot reboot
相关参考

专业术语

词汇 英文描述 中文描述
OTA An over-the-air (OTA) update is the wireless delivery of new software, firmware, or other data to mobile devices. OTA是一种基于无线传输的更新方式,用于推送新软件、固件或其他数据到移动设备上。
Firmware Permanent software programmed into a read-only memory. 固件包,比如将ROM烧录到手机设备的Flash内存中。Flash内存不同与RAM,通过将Flash内存的固件读入到RAM中,实现系统的加载。