看懂 ADB,才知道本地算力机怎么用

今天这篇文章只讲 ADB、AIPC 和 Android 自动化的技术原理,不讨论商业化,也不涉及违反平台规则的操作。文章对于重新理解 ADB 以及本地算力服务器提供了全新的视角。

重新看 ADB

我在今年3月份的时候,那个时候我的本地算力服务器刚刚到手。当时呢,我有一台闲置的谷歌 Pixel 9,就拿它来试了一下采集小红书上的内容。走的就是 ADB 的途径。

当时手机可以通过 USB 连接电脑,也可以通过无线调试连接。电脑搜索内容,手机负责打开页面和显示结果。我再把截图拿回来做 OCR,整理文字,有需要时做翻译,最后把结果放到我的 Mini PC 上。Mini PC 上的本地大模型继续处理这些材料,再写入数据库。

现在回头看这些事情,真的有意思的地方呢,是我们可以利用本地算力服务,加上我们的手机。当然这里面也可以是闲置手机,也可以是专门买一个手机。他们之间是已经存在了工作的可能性了。

手机负责打开应用、显示页面和接收操作。电脑负责运行程序,后来也可以让本地模型参与理解和整理。ADB 就是中间那条通道。

ADB 到底是什么

ADB 的全称是 Android Debug Bridge,中文通常叫 Android 调试桥。

它是 Google 提供的一个命令行工具,属于 Android SDK Platform Tools。安装好以后,电脑可以通过 USB 或无线调试和 Android 设备通信。

如果第一次看到 ADB,可以先把它理解成一个让电脑和 Android 手机说话的工具。电脑发出命令,手机上的 adbd 接收命令,再把结果返回给电脑。

它更接近电脑操作 Android 设备时使用的一套命令通道。这一个情景下,我们对于它的理解既不是聊天软件,也不是一个单独的 APP。这个对于没有编程跟计算机背景的人来说,理解起来可能有一点点抽象。

电脑端通常会有 ADB client 和 ADB server,手机端运行 adbd。当手机通过 USB 连接,或者完成无线调试配对以后,电脑才可以和它建立这条连接。USB 调试还需要用户在手机上确认电脑的 RSA 授权,电脑不会因为插上数据线,就天然拿到手机的全部权限。

这几个细节很重要。ADB 不是远程控制的魔法开关,也不是打开以后所有操作都自动成功。手机需要开启对应的调试功能,设备需要确认连接,具体操作还会受到系统版本、权限和应用界面的影响。

ADB 可以做什么

ADB 最常见的用途,是把原本要在手机上完成的部分操作交给电脑。

比如安装和卸载应用,向手机推送文件,从手机拉取文件,进入 Android 的 shell,查看一些系统信息,执行部分系统命令。它也可以让电脑获取手机截图、录制屏幕,并发送点击、滑动、输入等操作。这些能力单独看都不复杂。

真正有用的是,它们可以被程序调用。

程序可以先让手机打开一个页面,再截一张图;也可以把文件传到手机,等任务完成以后再把结果取回来。电脑不需要每一步都等人手动操作,脚本或其他程序可以把这些动作串起来。

不过,能发出点击命令,不等于一定点中了想要的东西。屏幕上的按钮可能变化,弹窗可能出现,某些页面是 WebView,某些界面是应用自己绘制的。程序还需要知道当前页面发生了什么,才能决定下一步。

所以一套比较完整的手机自动化流程,至少要有观察、判断、执行和结果检查。ADB 主要负责执行,也可以参与截图、文件传输和 shell 操作。截图交给 OCR 或视觉模型,界面信息可以由其他工具读取,模型负责理解当前状态和决定下一步。

AIPC 为什么会用到 ADB

AIPC 可以理解为一台放在家里的本地算力机。它运行本地大模型,也可以运行多个 Agent。模型负责理解任务、拆解步骤和处理结果,电脑上的程序负责把这些步骤执行出来。

问题在于,模型会分析文字和图片,并不意味着它能直接操作家里的设备。

它需要一个执行层。

Android 手机的ADB 就提供了这个执行层的一部分。模型可以先读取手机截图,或者读取程序能拿到的界面信息;它根据当前页面决定下一步,再由 ADB 执行点击、滑动、输入、截图或文件传输。执行完成以后,程序把新的页面状态交给模型,继续判断。

这个过程和人在手机上做事有相似之处。人先看屏幕,再决定点哪里,点完以后再看结果。

区别是,观察、判断和操作可以被拆成几个程序来完成。

我不过在实际使用里,权限、页面结构、登录状态、网络连接和应用本身都会影响结果。有些操作很稳定,有些操作需要反复检查。这里面会回到我们之前一直谈到的,在 AI 时代,其实认知跟判断是对人类来说非常重要的能力,也就在这里体现了。

我用 ADB 采集小红书时,流程是怎样的

我的做法并不是把手机上的内容直接搬走,而是让手机完成它本来就能完成的页面操作,再把结果交给电脑处理。

先用 USB 或无线 ADB 连接手机。电脑发出搜索指令,手机打开小红书,页面结果显示在手机上。接着,电脑获取截图,OCR 负责把图片里的文字提取出来。需要翻译的内容再交给翻译工具或模型处理。

整理完成以后,结果回到 Mini PC。本地大模型可以继续做去重、分类、摘要和结构化整理,最后写进数据库。这样留下来的不是一堆截图,而是可以继续检索和处理的材料。

同样的思路也可以放到抖音等应用上。文章只讨论搜索、读取、截图、OCR 和整理,不讨论自动点赞、评论或发布。技术上能不能发送一个动作,和这个动作是否应该使用,是两件事。

这也是我认为 ADB 值得讲清楚的原因。它让手机不再只是一个单独使用的终端。电脑可以把手机当成一个真实设备来连接、读取和操作,然后把结果带回本地算力环境。

我在这里还是想强调一点,这个操作本身它并不违法,因为我并没有去破坏平台的规则。只是说这个动作原本我可能要让人类去做,但现在呢,AI 可以模拟人类去完成这个事情。并且采集的数据,它是有一个不是那种极其快速的,多少秒就做一个笔记,它是像人类一样,它是有一定的延迟的。

人在外面,手机在家里

如果人在外面,问题就从“电脑能不能操作手机”变成了“人在外面能不能安全地访问家里的电脑”。

这里可以用 Tailscale 这类组网工具,把家里的 Mini PC 和外面的设备放进一个私有网络。远程请求先到家里的 Mini PC,再由 Mini PC 访问手机。ADB 仍然运行在电脑和 Android 设备之间,Tailscale 负责的是网络路径,不是替代 ADB。

这和把 ADB 端口直接暴露到公网不是一回事。远程访问还需要处理设备授权、账号权限、网络断开、任务停止和结果确认。人在外面时,尤其要知道手机现在是什么状态,不能只让程序不断发送点击命令。

本地算力机的未来

很多人理解本地大模型,先想到的是在电脑上聊天、写文章或处理文件。这些事情发生在电脑内部,模型有输入,也有输出。

接上 Android 手机以后,输入可以来自手机上的页面,输出也可以回到手机上的应用。搜索结果先在手机里出现,再被截图和 OCR 处理;处理后的内容回到 Mini PC,进入本地模型和数据库。手机、电脑和数据库之间形成了一条具体的工作流程。

这条流程不依赖某一个云端模型长期开放某个功能。模型可以换,任务也可以换,只要本地算力机还能运行相应的程序,ADB 还能连接 Android 设备,原来的工作就有机会继续。

当然,这不代表所有手机都适合长时间自动化,也不代表所有应用都能稳定读取。电量、网络、权限、页面改版和账号状态,都会让任务停下来。真正可用的系统,需要把这些情况写进流程里。

我自己的判断是,以后家家户户都会有一台 AIPC。它不一定就是今天这种 Mini PC,也不一定只放在书房里。它会负责运行本地模型,处理家里的文件和任务,也会连接家里已经存在的设备。

到那时,ADB 这样的工具就不只是开发者用来调试手机的命令行工具。它会成为本地算力机连接 Android 设备时需要理解的一部分。