Appetizer提供管理本地USB连接的设备以及通过无线ADB连接的设备。对这两种连接的设备,可以方便地进行投屏,从PC操控设备,进行手工测试等等操作。通过Appetizer设备管理,可以轻松调取公司内部WiFi连接下的任何一台配置好的设备,提供工作效率。

在使用无线投屏的时候请保证关闭了Android Studio UI Automator Viewer、Appium Server、Macaca Inspector、Appium Desktop等基于Google uiautomator技术的工具

无线ADB

正常ADB只接受USB的连接,从Android 4.0/5.0版本开始,ADB支持TCP模式直接连接;使用无线ADB有两个步骤,首先需要打开设备上ADB的TCP模式,然后让电脑主动通过IP和端口去连接到局域网内的设备。

Appetizer 提供了方便的一键打开ADB无线模式+连接的功能,只需要在设备IP栏点击刷新图标,然后点击IP右边的WiFi图标(快速连接)即可。有些设备在打开无线ADB模式后有一定延迟生效,导致Appetizer一键快捷方式会弹出错误,可以多试几次即可完美连上(例如一加的机型就会有这个问题)

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/b63c069b-4764-4b88-ae0f-0e43219caf91/2019-07-11_23-19.png

快速连接成功后设备列表中同一个设备会出现两次,从串号可以看出一个为USB连接,另一个为无线ADB连接。此时可以拔出USB,再次刷新列表就只有一个无线ADB的设备了。由于ADB协议限制,无法区分一个已连接的设备是无线还是有线的,所以无线ADB的设备依然会有设备IP这列。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8cba2619-0594-400a-a6af-b8b429868224/2019-07-11_23-18.png

Appetizer也提供了灵活的分解功能:

  1. 在USB连接的设备的 基本操作打开无线ADB功能,可以让设备的ADB进入TCP模式。因为每次必须先连接USB才能打开无线ADB,所以强烈建议每次设备重启后就立即打开无线ADB

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/6c3dd377-cda3-4b59-90df-7f856c81d732/Untitled.png

  2. 设备管理右上角的 搜索设备下拉菜单 → 输入设备IP地址,可以通过输入IP的方式连接网络里任意一个打开了无线ADB的设备。例如连接某个不在手边但已经打开无线ADB的设备,或者是连接一个和电脑不在同一个局域网的设备(见常见问题2)

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/26853098-bdd1-41a0-a978-ca2f05398107/Untitled.png

    连接过的设备会有记录,断开后可以下次快捷连接

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/4ceb5988-aa6c-4776-a9e6-534802783b9e/Untitled.png

  3. 设备管理右上角的 搜索设备下拉菜单 → 设备主动扫码,可以使用一个已经打开无线ADB的设备通过扫码的方式向电脑提交它的IP,并由电脑连接设备,省去了输入IP的麻烦。华为自带浏览器地址栏有扫码功能,

实时投屏

Appetizer提供了从电脑端投屏操作任意一台USB连接或者无线连接的设备,目前此功能支持Android 4.4 - 10.0,不支持模拟器,支持转屏(部分设备)。在设备管理中点击开始投屏即可。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3622aab9-6a00-42bb-af7c-46756095a931/Untitled.png

首次使用会提示需要安装驱动程序ATX agent,正常安装启动即可。在无线和有线情况下投屏流畅度都是不错的。投屏会实时传输屏幕Framebuffer的Diff,用JPG编码压缩,投屏性能的主要瓶颈是设备端对Framebuffer的压缩和Diff,并不在传输上(由于有Diff,传输一般在几百KB/s)。已知在一些性能比较差的机型(2015年前)上投屏效果较差。Appetizer底层使用了ATX agent,STF项目的minicap和minitouch实现实时投屏。

需要查看具体哪些机型已经被适配,点击右上方的查看设备适配按钮,如下图,每个表头都可以点击进行排序,表头下方的输入框输入内容可以搜索

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/99c75bdc-7b36-495f-aaa8-d629dba779c9/Untitled.png

一键检查设备自动化配置功能

设备差异广泛存在,经常会在运行各种自动化工具或者脚本的过程中碰到设备配置的问题,例如非常常见的小米OPPO的 INJECT_EVENTS 错误。