Skip to content

Commit

Permalink
Merge pull request #21 from byf3332/patch-1
Browse files Browse the repository at this point in the history
Update 进阶问题.md
  • Loading branch information
MisaLiu authored Jul 5, 2023
2 parents 753ffda + 6c648c0 commit 1a50dc1
Showing 1 changed file with 35 additions and 10 deletions.
45 changes: 35 additions & 10 deletions docs/互助文档/进阶问题.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,16 +204,41 @@
* 第 10-15 步同 [SP Flash Tool 刷入法](#SP Flash Tool 刷入法) 第 8-12 步

## 刷入 GSI 教程
* 方法一:常规(中规中矩,推荐使用)
1. 首先确保你有第三方 REC(例如 TWRP)关机进入 REC 双清
2. 用 ADB 工具(推荐搞机助手)把你需要 GSI 的 `system.img` 用 ADB 指令推到你能找得到的目录,或者你可以在小爱上直接进群下载并解压你想要的 GSI 的 `system.img` 并记住路径。
3. 推入完毕打开REC挂载双清后找到它直接安装即可,安装完重启进系统即可
* 方法二:system.img 刷入法(卡当线,方便快捷)
* 众所周知 GSI 起作用的就是 system.img 文件,所以阿御另辟蹊径搞出来新方法
* 使用SP时选择一个配置文件(官包官改啥都可以),然后全部取消勾选,只勾选 system,把 system 那一栏的 system.img 替换成群文件里 gsi 解压后的 system.img,然后再 bypass 刷入img ,等待下载完成就能直接使用。
* 方法三:玄学法(同样是由懒到极点的阿御提出并实践,十分快捷 但不稳定,不推荐使用)
* 阿御:“我当时因为在床上懒得开电脑,直接不双清,因为会把 img 删掉,然后卡刷 GSI 的 img,开机以后直接卡重启,这属于正常现象。进 TWRP 里挂载了 system 并清了 data,然后就可以正常使用。”
* rpone 的补充:首先刷入镜像,刷入完成后,双清、格式化 Data 分区,完成后开机。基本上没有风险。
* ~~方法一:常规(中规中矩,推荐使用)~~
1. ~~首先确保你有第三方 REC(例如 TWRP)关机进入 REC 双清~~
2. ~~用 ADB 工具(推荐搞机助手)把你需要 GSI 的 `system.img` 用 ADB 指令推到你能找得到的目录,或者你可以在小爱上直接进群下载并解压你想要的 GSI 的 `system.img` 并记住路径。~~
3. ~~推入完毕打开REC挂载双清后找到它直接安装即可,安装完重启进系统即可~~
* ~~方法二:system.img 刷入法(卡当线,方便快捷)~~
* ~~众所周知 GSI 起作用的就是 system.img 文件,所以阿御另辟蹊径搞出来新方法~~
* ~~使用SP时选择一个配置文件(官包官改啥都可以),然后全部取消勾选,只勾选 system,把 system 那一栏的 system.img 替换成群文件里 gsi 解压后的 system.img,然后再 bypass 刷入img ,等待下载完成就能直接使用。~~
* ~~方法三:玄学法(同样是由懒到极点的阿御提出并实践,十分快捷 但不稳定,不推荐使用)~~
* ~~阿御:“我当时因为在床上懒得开电脑,直接不双清,因为会把 img 删掉,然后卡刷 GSI 的 img,开机以后直接卡重启,这属于正常现象。进 TWRP 里挂载了 system 并清了 data,然后就可以正常使用。”~~
* ~~rpone 的补充:首先刷入镜像,刷入完成后,双清、格式化 Data 分区,完成后开机。基本上没有风险。~~

!!! danger "注意"
**上面的方法存在严重的问题,请不要参考,有可能会造成卡第一屏无法开机**

**下面的文字务必从头读到尾,并且请带着脑子,因不认真看造成的故障后果自负**

众所周知GSI的存在形式是一个镜像文件,可以将其刷入支持的设备上的 `system` 分区。

但是!**我们平时下载的GSI镜像,大部分是以 `Sparse Image` 的形式存在的**。通俗的说,这是一种特殊的压缩方式,可以让你不必刷入一整个巨大的 `system` 镜像(16进制数据中包含大段的0,徒增空间占用),而是只向 `system` 分区写入有用的数据来缩减刷入用时,同时也方便从网络上下载镜像。

上面划掉的方法里说可以使用twrp来刷入 `system` 镜像,这本身是没有大问题的,**但是!twrp不能识别 `Sparse Image` !** twrp能做到的只是把镜像里的0101二进制数据一个字不漏的抄进 `system` 分区。

还记得吗,上面说过 `SparseImage` 是被压缩过的,也就是说,它的内容并不是原汁原味的 `system` 分区镜像,它的结构是被修改了的,于是,使用twrp直接刷入这类镜像就会导致**卡第一屏**

说了这么多,那要怎么刷入 `Sparse Image` 呢?答案就是使用 `Fastboot``Fastboot` 能够自动识别刷入的镜像类型是 `Raw Image`(整个分区的镜像)还是 `Sparse Image`,并自动选择刷入方法。

进入 `Fastboot` 没有特殊的组合键,须借助 twrp,具体方法:进入 twrp - 点击「重启」- 点击「Bootloader」,等待屏幕下方显示小字 `Fastboot` 即进入成功

这时候用数据线连接电脑,在电脑的设备管理器里应该能看到一个 `Android Bootloader Interface` 或者其他类似设备。进入破解包的ADB文件夹,在此处打开cmd(不会的自己百度),输入 `fastboot devices`,如果能看到设备就可以继续下一步操作。

接下来准备好要刷入的gsi文件,输入 `fastboot flash system <镜像文件>`(请将 `<镜像文件>` 替换成你要刷入的镜像文件的完整路径),回车后会出现 `flashing "system"...` 并有进度,最后出现 `Done.` 就成功了。


??? info "提示"
关于如何辨别镜像是否是 `Sparse Image``file` 一下一目了然,看不懂也不要纠结,无脑 Fastboot 刷就完事了

### 刷入LineageOS GSI 的特殊方法

Expand Down

0 comments on commit 1a50dc1

Please sign in to comment.