首先引入一个概念,通用系统镜像(GSI)是一种针对Android设备调整配置的系统镜像。任何出厂Android 9或更高版本的Android设备支持treble的设备都可以通过把gsi刷入到system分区,从而实现安卓手机在没有厂商更新时更换系统,这主要是谷歌推动厂商将底层驱动与系统分离的结果
gsi目前是分为两种,一种是做了通用化处理的如phh的gsi镜像,另一种是没有处理的原包,也就是直接从别的手机中提取system,system_ext,product,等分区直接刷入到自己手机,值得一提的是国内很多厂商都额外建立了一些私有分区,里面有一些出厂捆绑的应用之类的东西,开原包意味能不能开机看运气和实力,一般都要自己处理一些东西。
要刷gsi,要知道手机的架构和是否支持通刷,下载treble info 就能看到了,刷入不同架构类型的gsi会变砖,通常gsi文件名上会写有相关信息
那么要怎么刷入通用镜像,来达到升级安卓版本的目的,甚至是使用别的厂商的定制ui,如miui,flyme等来体验别的手机独有的软件生态
第一步,刷gsi需要解开BootLoader不能解锁BootLoader的手机是无法刷入gsi的,不能解锁的手机就不用想了,每个厂商解锁方法都不同,可以百度
第二步,关闭vab验证使用fastboot命令,将从当前系统的vbmeta.img提取出来重新刷入并关闭验证,例如:fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img,或者刷magisk 25+的版本。
第三步,刷入gsi镜像使用命令fastboot flash 分区名 文件名和后缀。合并了分区的只需要刷system 例如:fastboot flash system system.img
第四步,格式化date分区fastboot erase userdata清除缓存fastboot erase cache
第五步,重启到系统 fastboot reboot
注意如果是动态分区的手机
需要重启到fastbootd 命令fastboot reboot fastboot 开机状态是adb fastboot,这些操作都需要adb 和fastboot的环境,如果没有可以用搞机助手自带的功能和环境来完成
最后刷机有风险,变砖后果自负