


























自我介绍
笔者系计算机系在校生,搞机生涯丰富,强迫症患者,多年果粉 & Nexus 粉一枚,目前深陷 Apple Loop 无法自拔。
本文背景
前几日突然萌生入一台安卓折腾折腾的想法,于是从朋友手里收到一台 Nexus 6P,到货第一天便折腾到半夜,激情复燃,想写一写在 Mac 上搞机的心得,虽然没有 Win 平台那么多『助手』和『大师』帮忙,但其实也没有想象中那么蛋疼,相反,没有这些『大师』对你手机的『指指点点』,搞机过程还更舒心一些。
本文内容都基于 ADB(Android Debug Bridge)这个工具,它可以实现对 Android 设备应用的安装和设备的调试,所以以下的内容都基于它提供的功能,如果你仅仅知道 ADB,但还不熟悉,你可以把本文当做它的小白文档参考使用。如果你已经非常熟悉 ADB,你可以查看其它文章,因为本文只是在介绍它包含的功能而已。
详细全面的介绍也可以参考文章末尾附录提供的网址。
刚拿到 Nexus 系列机器时需要做的第一件事就是解开 Bootloader 锁,之后才可以刷入任意的第三方 Recovery,而在 Mac 上你只需要打开终端,就是如下的这个应用:

然后输入以下命令,来安装本文的主角:ADB。
brew install android-platform-tools走完进度条之后可以输入以下命令来测试是否安装成功:
adb如果看到提示一堆文字,而不是 Command not found,则表示已经安装成功,此时你只需要将手机连接至电脑,开启 USB 调试模式(一般在设置—开发者选项中),再选择信任此计算机即可,如下图:

此时,在终端输入
adb devices你会看到设备已经出现在列表中:

如果你想进入 Recovery/Bootloader 模式,亦或是简单的重启,就只需要输入:
adb reboot recovery/bootloader解决了进入模式的问题之后,你应该学会了如何进入 bootloader,我们这一步的步骤就是在这个模式下进行的。
进入 Bootloader 模式后,在终端输入:
fastboot flashing unlock成功之后你的手机会进入解锁模式,问你要不要解锁,直接选择『Yes』即可:

以后再开机你就可以看到屏幕下放多了一个解开的小锁头,解锁就成功了。

本部分步骤参考 Google 官方教程:https://developers.google.cn/android/images
解完锁之后做的事就是刷个称手的第三方 Recovery,我推荐大家使用 TWRP,这是一个图形化,而且支持触摸操作的,功能强大的 Recovery,你可以在本文的附录中找到它的下载链接。
而刷入 Recovery 的命令也十分简单,你只需要把手机进入 Bootloader,然后输入以下命令。
(当然,除了 Recovery,只要你有镜像,Vendor,Bootloader,Radio 都是可以刷进去的。)
fastboot vendor/radio/bootloader/recovery xxx.img
注:需要刷入对应的 .img,本命令同时仅可刷入一种镜像,不可多选。
如果你想线刷官方原厂镜像,你可以在本文的附录中找到 Nexus 系列的工厂镜像,然后解压,即可在路径里找到:flash_all.bat 和 flash_all.sh 这两个脚本文件。
前者对应的是 Win 系统, 后者对应的则是 Mac/Linux 系统,所以如果你想在 Mac 下线刷原厂镜像,只需要将机器置于 Bootloader 模式,然后在终端进入镜像目录,再输入:
sh flash_all.sh即可进入如下图的自动刷机流程。

当然,如果你想刷入普通的刷机包,只需要进入 Recovery ,然后使用 push 命令将 Rom 推送到手机内存卡中,最后使用 Recovery 选择刷入即可:
adb push xxx.zip /sdcard/
除此之外,还有一种更省事的第三方 Rom 刷机方法,既不用传文件,也不用手动选择刷机包 —— 用 Sideload 来刷入,要使用这个,你得先在 Recovery 中开启 Sideload 隧道,以 TWRP 为例,隧道开关在 Advanced -> ADB SideLoad 中:(记得勾选双清)

然后在终端输入:
adb sideload xxx.zip即可进入 sideload 模式,不过按笔者的经验来讲,这个模式下成功率较低,建议先 push 再手动刷。
接下来介绍一下利用 ADB 实现 Mac 与 Android 之间互传文件的方法,命令分别是 push 和 pull,顾名思义,push 是从电脑中『推送』到手机中,Pull 则是从手机中『拉取』到电脑中,命令格式为:
adb push 电脑上文件路径 手机上放置路径 (如 adb push xxx.zip /sdcard/ 为将 xxx.zip 推送到手机内存卡根目录)
adb pull 手机上文件路径 电脑上放置路径 (如 adb pull xxx.zip /User/)
需要注意的是,push & pull 的两个参数中,第一个参数为完整路径 + 文件名,第二个参数为完整路径。命令成功输入后会出现进度条,进度条走完会显示传输报告(传输速度,耗费时间,和字节数)
如下图:

Push & Pull 命令足够简洁,平时使用中推送一个 Rom 文件到手机根目录中时用它就再方便不过了。

虽然平时传文件用 HandShaker 就完全可以胜任了,但我们有时需要在电脑上为手机安装 Apk 格式的软件,传文件进去再用手机安装就有点麻烦了。
为此,ADB 提供了一个命令:
adb install xx.apk
注:install 后面跟着的所安装的 apk 文件名需包含路径,即:路径/xxx.apk。软件安装成功之后,会显示命令行返回安装成功的字样:

一般情况下我们是使用 USB 来连接电脑的,但有些时候,比如手机在享受快充充电,我们只是想安装个软件,这种情况就没必要打断它了。因为我们可以无线连接来继续 ADB 操作。
第一次使用无线连接之前需要进行一下配置,请确保你的电脑和手机连接至同一个 Wi-Fi,手机也已通过 USB 连接至电脑,然后在终端输入:
adb tcpip 5555即可断开手机与电脑的 USB 连接,到手机中查看本机的 iP 地址(设置—>关于手机—>状态信息)。

记下这个 iP 地址之后(此例中为 192.168.0.100),回到终端输入:
adb connect [你的 iP 地址]命令成功后即可收到已连接设备的提示
再输入 adb devices 就能看到你的设备:

之后你就可以按照本文前面介绍的方法来操作你的设备了,如果你重启电脑,则需要重新来一遍这个流程,如果你关闭了手机的 Wi-Fi,则需要输入 adb connect 来再次连接。
至此,本文已经将 Mac 下对 Android 手机常见的操作方法介绍完毕了,这一部分介绍的是在 Mac 上通过 SSH 连接 Android 机的方法。
如果你不了解什么是 SSH,可以跳过本部分,这并不会影响你的日常使用;如果你想了解什么是 SSH,你只要大概知道这是手机上的终端,然后去搜索引擎以『Unix Shell』为关键词搜索即可,那些资料里的内容都能套用在 Android 手机上。
在 Mac 下通过 SSH 连接 Android 的方法非常简单,你只需要输入:
adb shell即可进入手机的 Shell 中:

附录最后 · 为了凑字数
最后附上几个你可能会需要的东西:

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。