前言
众所周知,每个安卓设备都拥有相适配的系统固件,它们一般都是由厂家(官方系统)或者社区大佬(第三方系统)定制的。那如果我们想要的系统没有适配我们的机型,何以处之?
有的兄弟有的,在安卓机圈里,你也许听说过GSI或者Project Treble之类的名词。没错,就是它,能够让你摆脱机型限制,体验任何系统。😋
本文只针对所有类原生系统GSI,是因为这些系统往往不需要经过特别的适配,拿到GSI刷入即用。如果你想体验一些国产的深度定制化系统,可移步酷安“Project Treble”板块,那里有很多适配好的GSI以及适配教程,感兴趣的话可以去了解一下。
什么是GSI?
GSI 指的是 通用系统镜像(Generic System Image),它基于 Project Treble 机制,将系统核心与厂商硬件驱动分离,最早在安卓9时期引入。
一个 GSI 镜像通常可以通刷到多款不同品牌的设备上,而不像传统卡刷包那样针对单一机型。
由于不含厂商定制化驱动,刷入后部分硬件(如相机、指纹)可能功能不全,适合开发者或发烧友使用。
如何刷写GSI?
酷安第三刷机委提醒您
刷机干万部,备份第一步
玩机不规范,机主两行泪
在刷入GSI之前,请先确保设备已解锁bootloader,并且设备支持Project Treble,选择合适的GSI。
确认设备是否支持Project Treble?
下载一个“treble信息”App即可查看

如果支持则会有这样的提示。
确认设备支持的GSI类型
可以看到,“treble信息”已经给我们指出了设备支持的GSI类型。
不过我们最好还是自己确认一下
我们点开下面的“信息”一栏,可以看到如下内容:

自行对照:
e.g. 一个arm64的非vndklite设备,sar(a/b)启用,我需要找一个包含精简谷歌套件并且不包含超级用户权限的GSI,则下载GSI时选择xxxxx(ROM名称)-arm64-XX(该ROM的安卓版本)-YYYY/MM/DD-bvN-slim.img
设备处理器架构(根据情况选择)
arm64:ARM 64 位
a64:ARM 32 位(带 64 位绑定器)
arm:ARM 32 位
b:分区类型(根据情况选择)
a:A-only(系统作为系统)
b:A/B(系统作为根目录)(如果设备支持system as root则必须选择ab)
v:谷歌服务(根据需要选择)
v:不包含谷歌服务套件
g:包含谷歌服务套件
o:Android Go 谷歌服务套件
f:使用开源应用代替谷歌服务套件
N:超级用户(根据需要选择)
N:无超级用户权限
S:包含超级用户权限
Z:动态超级用户权限(Root 权限可随时启用/禁用)
vndklite(根据情况选择):VNDKLite 版本,/system 分区可读写
other(根据需要选择):
Slim:削减部分谷歌服务组件
secure:移除超级使用者并欺骗系统以通过 SafetyNet 测试
signed:使用维护者密钥签名
personal:包含个人修改,仅供参考

下载GSI
至于下载GSI,我这里推荐两种方法。(可能需要科学上网)
第一种是在一些GSI集合里面找,优点是方便。这里推荐几个好用的:
1.
2.
3.
4.Mystic GSI Updates - Browse Files at SourceForge.net
5.Nippon GSI Updates - Browse Files at SourceForge.net
第二种简单粗暴,快速。在bing或者Google里搜索rom名称+gsi,比如RisingOS gsi,可以看到有很多结果,选择GitHub、sourceforge或者xda等可靠网站里的即可。

如果GitHub/sourceforge下载太慢,可以尝试一下代理加速
刷入GSI
方法一:DSU Sideloader
DSU Sideloader 是一款 Android 应用工具,用于在支持 DSU(动态系统更新) 的设备上加载和运行 GSI。使用该工具需要设备支持DSU。
使用该软件可以在不损坏原系统的情况下体验GSI,实现双系统并存,可以用来尝鲜或者调试。如果你的设备支持DSU,建议优先使用此方法。
安装后打开软件会来到这个界面

提示授权存储目录,按照提示设置即可

推荐根目录新建一个易于区分的文件夹

之后回到主界面,选择需要安装的GSI文件;
DSU用户空间大小就是userdata分区大小,根据需要调整即可;
DSU镜像大小不建议改也没必要改。
确认无误后点击安装即可。(需要root或者shizuku/adb授权)
没有root又没有其他设备的话,可以使用shizuku
shizuku下载

按照提示无限调试激活即可。
DSU 安装 GSI 后,DSU 菜单将以常驻通知的形式显示在系统抽屉式通知栏中,点击重启即可启动GSI。
顺便一提,使用adb指令 adb shell gsi_tool enable 即可开启粘滞模式,之后重启将会默认是dsu系统,将 enable 替换为 disable 则恢复。
方法二:覆盖原system
在fastboot模式下刷入gsi镜像至system分区
调试工具及驱动下载
安装好驱动后打开解压好的platform-tools-latest-windows,在文件资源管理器上方目录框输入cmd回车打开命令行窗口

具体步骤如下(谨慎操作,确保你有救砖能力,刷机之前记得备份重要数据)
酷安第三刷机委提醒您
刷机干万部,备份第一步
玩机不规范,机主两行泪
首先需要进入到fastboot模式,系统内开启usb调试后可使用adb命令adb reboot bootloader
可使用fastboot devices确认设备连接状态
如果设备是动态分区,则需要在进入fb之后再次输入此命令进入fastbootd
gsi下载好之后一般都是压缩包形式,但是这里必须要刷入img格式文件,所以需要自行解压得到img文件,这里推荐使用bandizip解压工具
刷入GSI:fastboot flash system system.img
比如你的gsi在D:\gaoji\Roms\gsi\目录下的PixelOS_treble_arm64_bN_slim-14.0-20240724.img,则命令就是fastboot flash system "D:\gaoji\Roms\gsi\PixelOS_treble_arm64_bN_slim-14.0-20240724.img",也可以直接把gsi文件移动到调试工具目录,后面接文件名就行
若提示 Invalid partition name,可能需要将镜像重命名为 system.img 并确认设备分区名
之后使用fastboot -w命令或者在rec里清除数据就可以重启到系统了
有些设备可能会因为avb校验卡开机,可使用如下命令关闭
fastboot flash vbmeta --disable-verity --disable-verification vbmeta.img
[把vbmeta.img替换为你的真实的镜像文件(自行在刷机包里面找或者提取),和上面的system一样]
开机后等待一会儿如果成功出现了系统的开机动画(第二屏),那么恭喜你大概率成功了!
END
以上就是本教程的全部内容,如有疑问或者错误欢迎在评论区指出,祝你好运!😋
参考资料:
通用系统映像 (GSI) | Platform | Android Developers
动态系统更新 (DSU) | Platform | Android Developers
Android 调试桥 (adb) | Android Studio | Android Developers
Andy Yan's personal builds // GSI - Browse Files at SourceForge.net
如有内容侵权请联系删除
本文章仅在blog.kinser.top发布,未经允许不得擅自以任何形式搬运、抄袭。