利用adb 在macOS上 为Nexus Android 手机线刷原生镜像固件

1. 前往 Google 开发者网站,下载对应手机型号的完整版工厂镜像 解压

2. 下载操作所需Android SDK Platform-tools工具,并进行解压备用

3.  下载TWRP for shamu

4.  下载Zip ROOT工具 SuperSU

Download Factory Images  https://developers.google.com/android/images

https://dl.google.com/dl/android/aosp/shamu-n6f27m-factory-bf5cce08.zip

1.  进入Bootloader模式

终端输入:        adb reboot bootloader

2.  解压镜像文件   cd到此文件夹路径下

终端输入:        cd /Users/XLsn0w/Desktop/shamu-mob31t

3.  执行命令行” sh ./ ”   运行” flash-all.sh “文件,  执行刷机

终端输入:    sh ./flash-all.sh

手机将自动执行刷机脚本操作,请耐心等待直至手机重启并出现开机画面…

$  adb push /Users/XLsn0w/Desktop/SuperSU.zip /sdcard

$  adb reboot bootloader

$  cd /Users/XLsn0w/Desktop

$  fastboot flash recovery twrp-3.1.1-0-shamu.img 

adb reboot bootloader    进入bootloader刷机界面

fastboot reboot                重启

adb shell reboot -p          关机

fastboot devices               判断设备是否连接

fastboot flash recovery twrp.img    刷入TWRP

adb devices                    确定手机与电脑相连

adb reboot recovery    进入刷机界面

Mac 通过命令行adb install安装apk

$      cd 到apk所在文件夹路径

$    adb install xlsn0w.apk

《利用adb 在macOS上 为Nexus Android 手机线刷原生镜像固件》

1、安装APK(如果加 -r 参数,保留已设定数据,重新安装filename.apk)

adb install xxx.apk

adb install -r xxx.apk

2、卸载APK(如果加 -k 参数,为卸载软件但是保留配置和缓存文件)

adb uninstall xxx.apk

adb uninstall -k xxx.apk

3、查看当前所有连接的模拟器设备

adb devices

4、对某一模拟器操作

adb -s 模拟器编号 命令

5、导入文件到模拟器 (该命令也可以实现安装APK,只要把APK导入到”/system/app”或者”/data/app”就OK)

adb push 文件 模拟器路径

6、从模拟器导出文件

adb pull 模拟器文件 本地路径

7、查看模拟器log信息

adb logcat

8、获取管理员权限

adb root

9、进入shell模式

adb shell

10、启动activity (adb shell后面跟的命令主要来自源码\system\core\toolbox目录和源码\frameworks\base\cmds目录)

adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)

11、获取设备ID号

adb get-serialno

12、开启adb服务

adb start-server

13、关闭adb服务

adb kill-server

14、访问sqlite3

adb shell

sqlite3

15、重启设备

adb reboot

16、挂在分区(可使系统分区重新可写)

adb remount

17、发布端口(可以设置任意的端口号,做为主机向模拟器或设备的请求端口)

adb forward tcp:5555 tcp:8000

18、关机命令

adb shell reboot -p

Android SDK Platform-tools 工具里面包含的 adb 及 fastboot 指令环境,是我们在后面运行相关指令所需要的,接下来先讲解如何让 macOS 运行 Android SDK。

配置 macOS 中 Android SDK 的环境变量

无论是 Windows 还是 macOS 环境中,我们都是通过 Terminal(Windows 称为「命令提示符」) 来对手机下达操作指令的。

而在对手机控制之前,我们需要先搭建好 Android SDK 的环境变量,使得 Terminal 能够调取、运行 adb 和 fastboot 指令。在 macOS 中搭建 Android SDK 的操作如下:

启动 Spotlight,输入「终端」找到 Terminal;

1.    在 Terminal 中输入cd ~,并按下回车执行,将 Terminal 中目录位置切换至目前登陆用户的「Home目录」位置;

2.    输入touch .bash_profile,并按下回车执行,创建出「.bash_profile」环境配置文件;

3.  输入open -e .bash_profile,并按下回车执行,编辑「.bash_profile」环境配置文件;

4.   输入路径

export PATH=$PATH:/Users/XLsn0w/Desktop/platform-tools

《利用adb 在macOS上 为Nexus Android 手机线刷原生镜像固件》

此时将会打开「.bash_profile」文件,在里面输入export PATH=$PATH:/Users/登陆用户名/存放的文件夹路径名称/platform-tools/代码。在此举个例子,若电脑登陆用户名为xlsn0w,且 Platform-tools 工具解压并放置在了「下载」文件夹,则此处需输入的代码为:export PATH=$PATH:/Users/xlsn0w/Downloads/platform-tools/,随后保存并关闭即可;

5.   输入source .bash_profile,并按下回车执行,执行创建好的环境配置。

完成上述几步简单的指令操作后,我们便完成了 Android SDK 的环境变量配置,往后运行 Platform-tools 工具的基础准备工作也已完成。

解锁 Bootloader

Bootloader 是我们在启动 Android 系统内核之前运行的底层模式,在这个底层模式下,我们能够对手机进行初始化硬件设备、建立内存空间映射图等操作。刷入官方工厂镜像等操作也是需要在这个模式下执行的。

(注意:此操作将清除手机中的所有资料,建议备份好手机中的所需资料后,再进行下述解锁 Bootloader 操作)

打开「开发者选项」:在「设置」中进入「关于手机」,持续点击「 版本号」7次;

依次打开「USB 调试」及「OEM 解锁」:在「设置」找到「开发者选项」,找到并打开对应选项。而 Pixel 用户需注意的是,「OEM 解锁」选项必须是在能够连接至 Google 服务器的联网状态才可打开;

随后进入 Bootloader 界面等候操作:将手机关机,随后同时按住「电源键+音量下键」,进入到 Bootloader 界面并使用数据线与电脑连接;

执行解锁 Bootloader 操作指令:在 macOS 打开 Terminal,并输入fastboot flashing unlock指令,手机将会提示你是否要解锁 Bootloader。

完成 Bootloader 解锁:随后按音量键选中「Yes」选项 ,并按下电源键确认,此时手机便完成了解锁 Bootloader,此时请勿关闭手机,我们将继续执行刷机操作。

完成刷入 Android 官方系统操作

完成了 Bootloader 解锁操作,我们现在可以执行刷入官方工厂镜像到手机了。

在 Finder 找到下载好的完整版工厂镜像,并确认已经解压完成;

在 Terminal 将路径切换至镜像文件夹中。假设我的文件夹路径为/Users/jackcivlie/Downloads/bullhead-opp1.170223.012/,则输入cd /Users/jackcivlie/Downloads/bullhead-opp1.170223.012/即可;

倘若对 macOS 文件夹路径不熟悉,难以辨别其路径位置的话,这里可以使用一个取巧的办法:先在 Terminal 中输入cd(注意「cd」后面有空格),并在 Finder 将镜像文件夹下拖拽任意一个文件到 Terminal 窗口,并将生成的路径代码中,将文件名的部分删除,按下回车便完成了操作;

终端代码如下

XLsn0ws-MacBook:~ XLsn0w$ adb reboot bootloader

* daemon not running. starting it now at tcp:5037 *

* daemon started successfully *

XLsn0ws-MacBook:~ XLsn0w$ cd /Users/XLsn0w/Desktop/shamu-mob31t

XLsn0ws-MacBook:shamu-mob31t XLsn0w$ sh ./flash-all.sh

(bootloader) slot-count: not found

(bootloader) slot-suffixes: not found

(bootloader) slot-suffixes: not found

(bootloader) has-slot:bootloader: not found

target reported max download size of 536870912 bytes

sending ‘bootloader’ (3807 KB)…

OKAY [0.120s]

writing ‘bootloader’…

(bootloader) flashing partition …

(bootloader) This may take a few seconds if a

(bootloader) different partition table is being

(bootloader) flashed since we need to backup

(bootloader) and restore a few partitions

(bootloader) Flashing primary GPT image…

(bootloader) Flashing backup GPT image…

(bootloader) flashing aboot …

(bootloader) flashing sbl1 …

(bootloader) flashing rpm …

(bootloader) flashing tz …

(bootloader) flashing sdi …

(bootloader) flashing logo …

OKAY [0.788s]

finished. total time: 0.908s

(bootloader) slot-count: not found

(bootloader) slot-suffixes: not found

(bootloader) slot-suffixes: not found

rebooting into bootloader…

OKAY [0.002s]

finished. total time: 0.002s

(bootloader) slot-count: not found

(bootloader) slot-suffixes: not found

(bootloader) slot-suffixes: not found

(bootloader) has-slot:radio: not found

target reported max download size of 536870912 bytes

sending ‘radio’ (115508 KB)…

OKAY [3.619s]

writing ‘radio’…

(bootloader) flashing modem …

(bootloader) flashing mdm1m9kefs1 …

(bootloader) flashing mdm1m9kefs2 …

(bootloader) flashing mdm1m9kefs3 …

(bootloader) flashing versions …

OKAY [1.689s]

finished. total time: 5.308s

(bootloader) slot-count: not found

(bootloader) slot-suffixes: not found

(bootloader) slot-suffixes: not found

rebooting into bootloader…

OKAY [0.002s]

finished. total time: 0.002s

(bootloader) slot-count: not found

(bootloader) slot-suffixes: not found

(bootloader) slot-suffixes: not found

(bootloader) current-slot: not found

(bootloader) slot-count: not found

(bootloader) slot-suffixes: not found

(bootloader) slot-count: not found

(bootloader) slot-suffixes: not found

target reported max download size of 536870912 bytes

(bootloader) has-slot:boot: not found

archive does not contain ‘boot.sig’

(bootloader) has-slot:recovery: not found

archive does not contain ‘recovery.sig’

(bootloader) has-slot:system: not found

archive does not contain ‘system.sig’

archive does not contain ‘vendor.img’

(bootloader) slot-count: not found

(bootloader) slot-suffixes: not found

(bootloader) slot-suffixes: not found

wiping userdata…

Creating filesystem with parameters:

Size: 59751923712

Block size: 4096

Blocks per group: 32768

Inodes per group: 8192

Inode size: 256

Journal blocks: 32768

Label:

Blocks: 14587872

Block groups: 446

Reserved block group size: 1024

Created filesystem with 11/3653632 inodes and 275392/14587872 blocks

wiping cache…

Creating filesystem with parameters:

Size: 268435456

Block size: 4096

Blocks per group: 32768

Inodes per group: 8192

Inode size: 256

Journal blocks: 1024

Label:

Blocks: 65536

Block groups: 2

Reserved block group size: 15

Created filesystem with 11/16384 inodes and 2089/65536 blocks

——————————————–

Bootloader Version…: moto-apq8084-71.22

Baseband Version…..: D4.01-9625-05.34+FSG-9625-02.111

Serial Number……..: ZX1G3268PW

——————————————–

checking product…

OKAY [0.002s]

checking version-bootloader…

OKAY [0.002s]

checking version-baseband…

OKAY [0.002s]

sending ‘boot’ (8183 KB)…

OKAY [0.259s]

writing ‘boot’…

OKAY [0.275s]

sending ‘recovery’ (8901 KB)…

OKAY [0.284s]

writing ‘recovery’…

OKAY [0.126s]

sending sparse ‘system’ 1/4 (517178 KB)…

OKAY [ 18.982s]

writing ‘system’ 1/4…

OKAY [7.726s]

sending sparse ‘system’ 2/4 (515137 KB)…

OKAY [ 19.296s]

writing ‘system’ 2/4…

OKAY [7.407s]

sending sparse ‘system’ 3/4 (515644 KB)…

OKAY [ 19.295s]

writing ‘system’ 3/4…

OKAY [7.353s]

sending sparse ‘system’ 4/4 (514697 KB)…

OKAY [ 19.084s]

writing ‘system’ 4/4…

OKAY [6.867s]

erasing ‘userdata’…

OKAY [9.301s]

sending ‘userdata’ (141067 KB)…

OKAY [4.432s]

writing ‘userdata’…

OKAY [2.187s]

erasing ‘cache’…

OKAY [0.043s]

sending ‘cache’ (6248 KB)…

OKAY [0.210s]

writing ‘cache’…

OKAY [0.094s]

rebooting…

finished. total time: 123.237s

XLsn0ws-MacBook:shamu-mob31t XLsn0w$

    原文作者:XLsn0w
    原文地址: https://www.jianshu.com/p/d4b5744d1266
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞