Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 进阶问题.md #21

Merged
merged 3 commits into from
Jul 5, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading