安装

在 Windows、macOS 或 Linux 上安装 droidline 服务器,在手机上安装应用并开启权限,然后添加你所用语言的 SDK。

本页为译文。如与英文版不一致,以英文版为准。 English

本页一次性完成所有设置:电脑上的服务器、手机上的应用,以及你所用语言的库。第一次大约需要十五分钟。完成后,前往快速开始配对手机并发送命令。

1. 在电脑上安装服务器

服务器是一个名为 droidline 的独立程序。你用来配对手机和发送命令的命令行工具也是这个程序。

从 GitHub Releases 下载适合你系统的压缩包。文件名的格式是 droidline_<version>_<system>_<cpu>;大多数电脑用 amd64,Apple 芯片的 Mac 和 ARM 笔记本电脑用 arm64。每个压缩包中有三个程序:

程序用途
droidline服务器和命令行工具。你需要的就是它。
droidline-fakephone模拟手机,没有真机也能试用 Droidline。
droidline-relay中继,可以运行在你自己的服务器上,供使用移动数据的手机连接。
  1. 下载 droidline_<version>_windows_amd64.zip(ARM 笔记本电脑请下载 windows_arm64)。

  2. 右键点击该文件,选择全部解压缩,把它解压到一个会长期保留的文件夹,例如 C:\Tools\droidline。

  3. 把这个文件夹添加到 PATH,这样在任何终端中都能使用 droidline。打开 PowerShell 并运行:

    $dir = "C:\Tools\droidline"
    $old = [Environment]::GetEnvironmentVariable("Path", "User")
    [Environment]::SetEnvironmentVariable("Path", "$old;$dir", "User")
  4. 关闭终端,打开一个新终端,然后检查:

    droidline version

    它会输出 droidline 0.1.0 或更新的版本。

  1. Apple 芯片(M1 及更新)请下载 droidline_<version>_darwin_arm64.tar.gz,Intel Mac 请下载 darwin_amd64。

  2. 在“下载”文件夹中打开终端,解压压缩包,并把程序移动到 ~/.local/bin:

    tar -xzf droidline_*_darwin_arm64.tar.gz
    mkdir -p ~/.local/bin
    mv droidline_*_darwin_arm64/droidline* ~/.local/bin/
  3. 这些程序尚未经过 Apple 公证,所以 macOS 第一次会拒绝启动它们。清除一次下载标记:

    xattr -c ~/.local/bin/droidline ~/.local/bin/droidline-fakephone ~/.local/bin/droidline-relay
  4. 如果 ~/.local/bin 还不在 PATH 中,添加它,然后打开一个新的终端窗口:

    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
  5. 检查:

    droidline version
  1. 下载 droidline_<version>_linux_amd64.tar.gz(ARM 开发板和服务器请下载 linux_arm64)。

  2. 解压,并把程序移动到 ~/.local/bin:

    tar -xzf droidline_*_linux_amd64.tar.gz
    mkdir -p ~/.local/bin
    mv droidline_*_linux_amd64/droidline* ~/.local/bin/
  3. 大多数发行版已经把 ~/.local/bin 放在 PATH 中。如果 droidline version 提示“command not found”,把它添加到你的 shell 配置文件中,然后打开一个新终端:

    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
  4. 检查:

    droidline version

在任何系统上,只要装有 Go 1.26 或更高版本:

go install github.com/KnifeLemon/Droidline/server/cmd/droidline@latest
go install github.com/KnifeLemon/Droidline/server/cmd/droidline-fakephone@latest

程序会放在 Go 的 bin 文件夹中(位置是 go env GOPATH 显示的路径再加上 /bin)。确认这个文件夹在 PATH 中,然后用 droidline version 检查。

2. 启动服务器

打开终端并运行:

droidline serve

它会输出手机和你的代码分别连接到哪里,然后开始等待:

Droidline 0.1.0 on MY-PC
  phones connect to   :8779 (TCP, TLS and WebSocket)
  your code connects  127.0.0.1:8780
  settings            C:\Users\you\AppData\Roaming\Droidline

No phone paired yet. In another terminal run: droidline pair

保持这个窗口打开。服务器只在窗口打开时运行;要停止它,按 Ctrl+C。要让它自动启动,请参阅配置。

3. 在手机上安装应用

这个应用不在 Google Play 上。它以 APK 文件的形式发布在同一个发布页面上,由本项目签名。

  1. 在手机的浏览器中打开 GitHub Releases,下载 droidline-agent.apk。
  2. 打开下载的文件。Android 会询问是否允许你的浏览器安装应用;为这次安装允许即可。应用安装完成后,你可以再关闭这项权限。
  3. 打开 Droidline。它会从设置标签页开始,这里列出所有权限,并显示哪些还没有开启。

4. 开启权限

设置标签页的每一行都有一个按钮,可以打开对应的 Android 设置界面。从上到下逐项开启。

权限用途是否必需
无障碍服务读取屏幕、点击、滑动和输入是
Droidline 键盘按键码、向不接受普通输入的输入框键入文字、读取剪贴板是
通知显示连接状态是
电池优化:不受限制屏幕关闭时保持连接是
通知使用权在电脑上接收通知事件仅在使用时
VPN 权限按应用代理仅在使用时

Android 13 上的 Droidline 应用:所有权限都已开启的设置标签页、配对完成后的配对标签页,以及已连接手机的状态标签页

无障碍服务

这项权限让 Droidline 能够看到屏幕并进行操作。点击打开设置,在列表中找到 Droidline(它可能在已安装的应用或已下载的应用下面),然后开启它。

Droidline 键盘

Droidline 自带一个键盘。命令发送 Enter 等按键时、输入框忽略普通文字输入时,以及读取剪贴板时,都会用到它。点击启用,打开 Droidline 键盘,然后点击选择,把它选为当前键盘。

你仍然可以自己打字:Droidline 键盘上有一个切换键盘按钮,可以切回你常用的键盘。需要 Droidline 键盘的命令会自己切换过去。

通知和电池

允许通知,让应用能显示连接状态;并把电池优化设为不受限制。如果不做后一项设置,很多手机会在屏幕关闭几分钟后切断连接。

当每一个必需项都显示已开启时,手机就可以配对了。

5. 安装你所用语言的库

如果只想使用命令行,可以跳过这一步。你在第 1 步安装的 droidline 程序已经可以发送命令。

pip install droidline
npm install droidline

Python 包需要 Python 3.9 或更高版本,没有任何依赖。Node.js 包需要 Node.js 18 或更高版本,以 ES 模块发布,并包含 TypeScript 类型定义。

其他语言不需要库:它们通过 HTTP 或普通套接字与服务器通信。

6. 检查设置

保持 droidline serve 运行,打开第二个终端并运行:

droidline doctor
settings: C:\Users\you\AppData\Roaming\Droidline
secrets:  Windows DPAPI (current user)

[ok  ] server answers on 127.0.0.1:8780
       version 0.1.0, agent port 8779, language en
[FAIL] 0 paired phone(s)
       pair one with: droidline pair
[ok  ] this PC has a private network address

在配对一部手机之前,已配对手机这一项检查会一直失败。配对就是下一步:快速开始。

更新和卸载

  • 服务器:下载新的压缩包并替换程序。你的设置和已配对的手机保存在另一个文件夹中,会被保留。
  • 应用:把新的 APK 覆盖安装在旧版本上。
  • 库:pip install -U droidline 或 npm install droidline@latest。

要彻底移除 Droidline,删除这些程序,卸载应用,再删除 droidline doctor 列出的设置文件夹。