Android Pixel3离线刷机

Android Pixel3离线刷机

1. 环境

电脑:macOS 14.6

手机:Google Pixel3

2. 准备

  1. Pixel3启动开发者模式。
  2. 电脑安装ADB工具。
  3. 手机解锁bootloader
  4. 准备科学上网工具,下载安卓映像需要科学上网工具。

3. 下载映像

  1. 打开Nexus 和 Pixel 设备的出厂映像

  2. 找到对应映像,点击Link按钮,这里是Pixel3Android 12最新版本所以选择blueline-sp1a.210812.016.c2-factory-fa981d87

  3. 如果提示下面,不是Google的问题请更换加速节点重试。

    复制代码
    We're sorry...
    
    ... but your computer or network may be sending automated queries. To protect our users, we can't process your request right now.
    
    See Google Help for more information.

4. 解压

解压

sh 复制代码
unzip blueline-sp1a.210812.016.c2-factory-fa981d87.zip

解压出来文件结构

sh 复制代码
tree blueline-sp1a.210812.016.c2

输出

复制代码
blueline-sp1a.210812.016.c2
├── bootloader-blueline-b1c1-0.4-7617406.img
├── flash-all.bat
├── flash-all.sh
├── flash-base.sh
├── image-blueline-sp1a.210812.016.c2.zip
└── radio-blueline-g845-00194-210812-b-7635520.img

5. 安装

进入文件夹

sh 复制代码
cd blueline-sp1a.210812.016.c2

手机进入bootloader模式

sh 复制代码
adb reboot bootloader

执行安装脚本

sh 复制代码
bash flash-all.sh

输出

复制代码
Warning: skip copying bootloader_a image avb footer (bootloader_a partition size: 0, bootloader_a image size: 8726312).
Sending 'bootloader_a' (8521 KB)                   OKAY [  0.340s]
Writing 'bootloader_a'                             (bootloader) Flashing Pack version b1c1-0.4-7617406
(bootloader) Flashing partition table for Lun = 0
(bootloader) Flashing partition table for Lun = 1
(bootloader) Flashing partition table for Lun = 2
(bootloader) Flashing partition table for Lun = 4
(bootloader) Flashing partition table for Lun = 5
(bootloader) Flashing partition msadp_a
(bootloader) Flashing partition xbl_a
(bootloader) Flashing partition xbl_config_a
(bootloader) Flashing partition aop_a
(bootloader) Flashing partition tz_a
(bootloader) Flashing partition hyp_a
(bootloader) Flashing partition abl_a
(bootloader) Flashing partition keymaster_a
(bootloader) Flashing partition cmnlib_a
(bootloader) Flashing partition cmnlib64_a
(bootloader) Flashing partition devcfg_a
(bootloader) Flashing partition qupfw_a
(bootloader) Flashing partition storsec_a
(bootloader) Flashing partition logfs
OKAY [  0.207s]
Finished. Total time: 0.996s
Rebooting into bootloader                          OKAY [  0.079s]
Finished. Total time: 0.080s
Warning: skip copying radio_a image avb footer (radio_a partition size: 0, radio_a image size: 73183372).
Sending 'radio_a' (71468 KB)                       OKAY [  2.080s]
Writing 'radio_a'                                  (bootloader) Flashing Pack version SSD:g845-00194-210812-B-7635520
(bootloader) Flashing partition modem_a
OKAY [  0.409s]
Finished. Total time: 2.938s
Rebooting into bootloader                          OKAY [  0.080s]
Finished. Total time: 0.080s
--------------------------------------------
Bootloader Version...: b1c1-0.4-7617406
Baseband Version.....: g845-00194-210812-B-7635520
Serial Number........: FLHG65002574010J89L01FPR
--------------------------------------------
extracting android-info.txt (0 MB) to RAM...
Checking 'product'                                 OKAY [  0.060s]
Checking 'version-bootloader'                      OKAY [  0.060s]
Checking 'version-baseband'                        OKAY [  0.060s]
Setting current slot to 'a'                        OKAY [  0.087s]
archive does not contain 'fastboot-info.txt'
extracting boot.img (64 MB) to disk... took 0.189s
archive does not contain 'init_boot.img'
extracting dtbo.img (8 MB) to disk... took 0.021s
archive does not contain 'dt.img'
archive does not contain 'pvmfw.img'
archive does not contain 'recovery.img'
extracting vbmeta.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta_system.img'
archive does not contain 'vbmeta_vendor.img'
archive does not contain 'vendor_boot.img'
archive does not contain 'vendor_kernel_boot.img'
archive does not contain 'boot_other.img'
archive does not contain 'odm.img'
archive does not contain 'odm_dlkm.img'
extracting product.img (2148 MB) to disk... took 7.740s
extracting system.img (845 MB) to disk... took 3.363s
archive does not contain 'system_dlkm.img'
extracting system_ext.img (236 MB) to disk... took 0.872s
extracting system_other.img (67 MB) to disk... took 0.230s
extracting vendor.img (442 MB) to disk... took 1.588s
archive does not contain 'vendor_dlkm.img'
archive does not contain 'vendor_other.img'
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting boot.img (64 MB) to disk... took 0.184s
archive does not contain 'boot.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'boot_a' (65536 KB)                        OKAY [  1.600s]
Writing 'boot_a'                                   OKAY [  0.330s]
extracting super_empty.img (0 MB) to RAM...
extracting dtbo.img (8 MB) to disk... took 0.020s
archive does not contain 'dtbo.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'dtbo_a' (8192 KB)                         OKAY [  0.290s]
Writing 'dtbo_a'                                   OKAY [  0.099s]
extracting super_empty.img (0 MB) to RAM...
extracting vbmeta.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'vbmeta_a' (8 KB)                          OKAY [  0.120s]
Writing 'vbmeta_a'                                 OKAY [  0.067s]
extracting super_empty.img (0 MB) to disk... took 0.000s
Rebooting into fastboot                            OKAY [  0.060s]
< waiting for any device >
Sending 'system_a' (4 KB)                          OKAY [  0.001s]
Updating super partition                           OKAY [  0.019s]
Resizing 'product_a'                               OKAY [  0.004s]
Resizing 'system_a'                                OKAY [  0.004s]
Resizing 'system_ext_a'                            OKAY [  0.004s]
Resizing 'system_a'                                OKAY [  0.004s]
Resizing 'vendor_a'                                OKAY [  0.004s]
extracting super_empty.img (0 MB) to RAM...
extracting product.img (2148 MB) to disk... took 7.427s
archive does not contain 'product.sig'
Resizing 'product_a'                               OKAY [  0.007s]
Sending sparse 'product_a' 1/9 (262140 KB)         OKAY [  7.354s]
Writing 'product_a'                                OKAY [  1.283s]
Sending sparse 'product_a' 2/9 (262140 KB)         OKAY [  7.184s]
Writing 'product_a'                                OKAY [  1.288s]
Sending sparse 'product_a' 3/9 (262140 KB)         OKAY [  7.146s]
Writing 'product_a'                                OKAY [  1.296s]
Sending sparse 'product_a' 4/9 (262140 KB)         OKAY [  7.173s]
Writing 'product_a'                                OKAY [  1.278s]
Sending sparse 'product_a' 5/9 (262140 KB)         OKAY [  7.117s]
Writing 'product_a'                                OKAY [  1.288s]
Sending sparse 'product_a' 6/9 (262140 KB)         OKAY [  6.995s]
Writing 'product_a'                                OKAY [  1.279s]
Sending sparse 'product_a' 7/9 (262140 KB)         OKAY [  6.923s]
Writing 'product_a'                                OKAY [  1.295s]
Sending sparse 'product_a' 8/9 (262140 KB)         OKAY [  7.030s]
Writing 'product_a'                                OKAY [  1.275s]
Sending sparse 'product_a' 9/9 (102612 KB)         OKAY [  2.745s]
Writing 'product_a'                                OKAY [  0.553s]
extracting super_empty.img (0 MB) to RAM...
extracting system.img (845 MB) to disk... took 3.154s
archive does not contain 'system.sig'
Resizing 'system_a'                                OKAY [  0.006s]
Sending sparse 'system_a' 1/4 (262140 KB)          OKAY [  6.159s]
Writing 'system_a'                                 OKAY [  1.265s]
Sending sparse 'system_a' 2/4 (262140 KB)          OKAY [  6.076s]
Writing 'system_a'                                 OKAY [  1.286s]
Sending sparse 'system_a' 3/4 (262140 KB)          OKAY [  6.046s]
Writing 'system_a'                                 OKAY [  1.296s]
Sending sparse 'system_a' 4/4 (79672 KB)           OKAY [  1.814s]
Writing 'system_a'                                 OKAY [  0.415s]
extracting super_empty.img (0 MB) to RAM...
extracting system_ext.img (236 MB) to disk... took 0.891s
archive does not contain 'system_ext.sig'
Resizing 'system_ext_a'                            OKAY [  0.006s]
Sending 'system_ext_a' (242504 KB)                 OKAY [  5.592s]
Writing 'system_ext_a'                             OKAY [  1.170s]
extracting super_empty.img (0 MB) to RAM...
extracting system_other.img (67 MB) to disk... took 0.196s
archive does not contain 'system_other.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'system_b' (69440 KB)                      OKAY [  1.619s]
Writing 'system_b'                                 OKAY [  0.350s]
extracting super_empty.img (0 MB) to RAM...
extracting vendor.img (442 MB) to disk... took 1.467s
archive does not contain 'vendor.sig'
Resizing 'vendor_a'                                OKAY [  0.005s]
Sending sparse 'vendor_a' 1/2 (262140 KB)          OKAY [  6.097s]
Writing 'vendor_a'                                 OKAY [  1.277s]
Sending sparse 'vendor_a' 2/2 (191236 KB)          OKAY [  4.429s]
Writing 'vendor_a'                                 OKAY [  0.949s]
Erasing 'userdata'                                 OKAY [  8.303s]
Erase successful, but not automatically formatting.
File system type raw not supported.
wipe task partition not found: cache
Erasing 'metadata'                                 OKAY [  0.010s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 173.640s

注意:

  1. 如果是Windows应该执行flash-all.bat

  2. 如果提示fastboot too old,请把运行脚本中的下段代码注释。

    sh 复制代码
    if ! [ $($(which fastboot) --version | grep "version" | cut -c18-23 | sed 's/\.//g' ) -ge 2802 ]; then
      echo "fastboot too old; please download the latest version at https://developer.android.com/studio/releases/platform-tools.html"
      exit 1
    fi
相关推荐
alexhilton7 小时前
将应用迁移到Navigation 3:痛点、加班和紧急修复
android·kotlin·android jetpack
杉氧13 小时前
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?
android·架构·android jetpack
雨白16 小时前
指针与数组的核心机制
android
黄林晴21 小时前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线
android·android jetpack
三少爷的鞋21 小时前
Kotlin 协程环境下的 DCL 懒加载:别把线程时代的经验直接搬过来
android
plainGeekDev1 天前
Gson → kotlinx.serialization
android·java·kotlin
CYY951 天前
Compose 入门篇
android·kotlin
杉氧2 天前
Compose 时代的 MVI 架构:如何用单向数据流驱动复杂 UI?
android·架构·android jetpack
杉氧2 天前
Modifier 的艺术:为什么链式调用的顺序决定了UI 的生命周期?
android·架构·android jetpack