限制
Droidline 只使用普通应用权限,因此有些事做不到;有变通办法的地方一并列出。
本页为译文。如与英文版不一致,以英文版为准。 English
Droidline 使用三项任何应用都能申请的权限:无障碍服务、输入法和 VPN。它不使用 ADB、root 或 Shizuku。这样一来有些事无法做到,最好在规划之前就了解。
| 限制 | 结果 | 变通办法 |
|---|---|---|
| 其他应用未导出的界面 | 带 activity 的 launch 会以 ACTIVITY_BLOCKED 失败 | 启动该应用,再用 touch 导航 |
| 带 PIN、图案或密码的锁屏 | wake 能点亮屏幕,但无法解锁 | 在无人值守的手机上移除锁屏 |
| 通知中的一次性验证码,Android 15 及更高版本 | 验证码到达时已被遮盖 | 把通知当作信号,在应用内读取验证码 |
| 没有无障碍节点的游戏和自定义界面 | touch 找不到元素 | tap(x, y) 和 color(x, y) |
| 部分 WebView 以及 Chrome 中的网页 | 元素树可能不完整 | 优先使用 text 和 desc,不行再改用坐标 |
kill、clear_data、data、wifi、airplane | 它们会打开系统设置并点击按钮:每个需要几秒钟,而且按钮文字因品牌和语言而异 | 报告 MACRO_FAILED,并附上你的机型和语言 |
有自己存储空间界面的应用上的 clear_data | Chrome 等应用显示的是管理空间而不是清除存储空间;调用会失败,失败步骤为 manage_space | 在应用内清除数据 |
| 按键码、键入文字、读取剪贴板 | 需要把 Droidline 输入法设为当前输入法,否则返回 NO_IME | 在应用的设置标签页中选择一次即可 |
| 按应用代理 | 需要 Android 10 或更高版本,每部手机一个上游,不能同时运行其他 VPN 应用 | 在电脑上而不是手机上运行隧道 |
| 忽略系统代理的应用 | 代理开启时它们会失去网络连接,而不会绕过代理 | 无;另一种做法会造成泄漏 |
| Android 9 和 10 上的截图 | 会请求一次屏幕录制权限 | 允许一次即可 |
安装或卸载应用、adb shell、插桩测试 | 没有 ADB 就无法实现 | 这类工作请使用基于 ADB 的工具 |
| Google Play | 应用以 APK 形式在 GitHub Releases 发布 | 侧载安装;有更新时应用会提醒你 |
Android 13 及更高版本
对于从文件安装的应用,Android 会把无障碍开关显示为灰色,直到你打开该应用的应用信息界面,点击三点菜单并选择允许受限制的设置。通知使用权也是如此。应用的设置标签页会告诉你在哪里操作。
会停止后台应用的品牌
有些厂商关闭后台应用比 Android 本身更激进。把电池优化设为不受限制,并在品牌特有的应用休眠或自启动设置中允许 Droidline。应用被重启后会自行重新连接。