DeekeScript Pro 已发布:AI 编写 UI 的 Android 自动化框架,可定制工作台立即了解 →DeekeScript Pro 已发布:AI 编写 UI 的 Android 自动化框架,可定制工作台立即了解 →DeekeScript Pro 已发布:AI 编写 UI 的 Android 自动化框架,可定制工作台立即了解 →DeekeScript Pro 已发布:AI 编写 UI 的 Android 自动化框架,可定制工作台立即了解 →Skip to content

开启与配对 ​

Adb 引擎依赖系统自带的 无线调试。下面分「手机界面怎么开」和「脚本里怎么配对 / 重连」。

1. 手机界面设置 ​

先开 Wi‑Fi ​

无线调试依赖系统的 Wireless Debugging 能力,多数机型要求先打开 Wi‑Fi(连上任意可用网络即可)。

注意:

  • Wi‑Fi 关掉后,不少机型会自动关闭「无线调试」
  • 仅开移动数据、不开 Wi‑Fi 时,无线调试入口常常是灰的或连不上
  • 部分机型连自己开的热点也能用,以实际机型为准

打开开发者选项 ​

  1. 打开 设置 → 关于手机。
  2. 连续点击 版本号 约 7 次,直到提示已处于开发者模式。
  3. 回到设置,进入 系统 → 开发者选项(部分品牌在「系统与更新 / 其它设置」里)。

也可在脚本里直接跳转:

javascript
Adb.openDeveloperOptions();

打开无线调试 ​

  1. 进入 开发者选项。
  2. 先打开 USB 调试(多数机型要求先开这个)。
  3. 打开 无线调试。
  4. 点进 无线调试 详情页,会看到 IP 地址与端口,以及 使用配对码配对设备(点进去有 6 位配对码)。

也可:

javascript
Adb.openWirelessDebuggingSettings();

打不开专用页时,会回落到开发者选项。

自动配对时端口由引擎发现,不用手抄端口。只有改走 手动配对 时,才需要区分配对端口和连接端口。

2. 首次配对(自动配对) ​

打开「使用配对码配对设备」后,脚本里只填 6 位码,端口由引擎自动发现并完成连接。

6 位码用 App.notifyInput 在通知栏回复。它只发一条可输入通知,不会把本应用拉回前台,设置页上的配对弹窗可以留着。

操作顺序:

  1. Android 13 及以上先允许本应用发送通知。没有通知权限时 notifyInput 抛出异常;系统里关掉本应用通知也会抛异常。
  2. 脚本发出可回复通知,并跳到无线调试。
  3. 在设置里点 使用配对码配对设备。
  4. 下拉通知,点 输入,回复 6 位码。点取消或划掉通知会得到空字符串。
  5. 回复完成前不要切回本应用,否则配对弹窗常被关掉,码立刻失效。

一次通知只有一个输入框。要连续问端口和配对码时,等上一次返回后再调用下一次。

javascript
if (!Adb.isSupported()) {
    FloatDialogs.show("提示", "需要 Android 11 及以上");
    System.exit();
}

let code = App.notifyInput(
    "无线调试配对",
    "点「输入」回复 6 位配对码。不要回到本应用。",
    "6 位配对码",
    function () {
        Adb.openWirelessDebuggingSettings();
    }
);
if (!code) {
    System.exit();
}

let result = Adb.pairWithCode(String(code), 120000);
if (!result.ok) {
    FloatDialogs.show("失败", result.error || "自动配对失败:请确认配对弹窗未关,或改试手动配对");
    System.exit();
}

console.log(Adb.shell("id"));
FloatDialogs.show("成功", "Adb 已连接");

第四个参数在通知发出之后、开始等待之前执行,用来跳到无线调试。也支持 App.notifyInput(title, content, hint, timeoutMs, afterPosted),timeoutMs 小于等于 0 表示一直等到回复或取消。

pairWithCode 也支持 Adb.pairWithCode("123456", 120000) 加长超时。别名:pairCode / easyPair。

若已开无障碍,也可用 UiSelector 在弹窗仍可见时读界面上的 6 位数字再调用 pairWithCode(手机 示例 → 接口 → Adb 无线调试 有按钮);读码时同样不要先关掉配对弹窗。

自动配对连不上时,再手填配对端口和连接端口:

→ 手动配对(日常不要一上来就用手填;手填时同样用通知栏回复,不要切回本应用)

3. 已经配对过之后 ​

一般不用再输配对码。 密钥会留在 App 私有目录;系统里也会记住这对设备。

但仍需要:

  1. 无线调试开关是打开的(重启后很多机型要再开)。
  2. 再次 connect(进程起来后、断线后都要连)。

推荐日常启动逻辑。connectSaved 会自动扫描连接端口;仍失败才要 6 位码,pairWithCode 也会自动扫描。手填端口只在 手动配对。

javascript
function ensureAdb() {
    if (!Adb.isSupported()) {
        throw new Error("需要 Android 11+");
    }
    // 已连接直接成功;否则用历史端口,失败再自动扫描连接端口
    let c = Adb.connectSaved();
    if (c.ok) {
        return true;
    }

    // 从未配对、撤销授权、清数据后才需要。只填 6 位码,端口自动扫描
    let pairCode = App.notifyInput(
        "无线调试配对",
        "仍连不上才填。点「输入」回复 6 位配对码,不要回到本应用。",
        "6 位配对码",
        function () {
            Adb.openWirelessDebuggingSettings();
        }
    );
    if (!pairCode) {
        throw new Error(c.error || "连接失败");
    }
    c = Adb.pairWithCode(String(pairCode));
    if (!c.ok) {
        throw new Error(c.error || "配对失败");
    }
    return true;
}

ensureAdb();
Adb.tap(500, 800);

什么时候必须重新配对 ​

  • 用户在开发者选项里 撤销 USB 调试授权,或忘掉了该配对设备
  • App 清数据 / 卸载重装,或调用了 Adb.clearIdentity() / Adb.rotateIdentity()
  • 换了 applicationId 或换签名导致私有目录密钥丢失(不是「唯一标识」字段配错,是密钥文件不在了)

端口变了不用手填,也不用重新配对:connectSaved 会自己扫描新的连接端口。只有扫描失败(还没配对、撤销授权或清数据)才要 6 位码。6 位码也扫不到端口时,再看手动配对。

4. 自检 ​

javascript
console.log(Adb.status());
// supported / connected / host / port /
// adbEnabled / wirelessDebuggingEnabled / developerOptionsEnabled
字段为 false 时做什么
supported换 Android 11+ 设备
developerOptionsEnabled打开开发者选项
adbEnabled打开 USB 调试
wirelessDebuggingEnabled打开无线调试
connectedconnectSaved;仍失败再用 pairWithCode。自动扫描不到才看手动配对

接下来 ​

AutoJS文档 Released under the ISC License.