流程如下

  • 依次点击 通讯录->新的朋友->点下搜索框, 进入搜索页
  • 通过 adb uiautomator 获取当前界面的 xml, 分析输入框和清除输入框元素所处于的坐标, 也就是 bounds="[144,117][1033,182]" 属性的内容   

    <node index="0" text="微信号/QQ号/手机号" resource-id="com.tencent.mm:id/hz" class="android.widget.EditText" package="com.tencent.mm" content-desc="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="true" scrollable="false" long-clickable="true" password="false" selected="false" bounds="[144,117][1033,182]"/>
    
  • 通过 adb shell input text 输入要搜索的手机号, 并点击搜索, 搜索按钮是第 2 步获取到的输入框坐标向下偏移 200

  • 通过 adb uiautomator 获取到结果页的 xml, 分析 content-desc="男" 得出性别。

    <node index="1" text="" resource-id="com.tencent.mm:id/apl" class="android.widget.ImageView" package="com.tencent.mm" content-desc="男" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[566,326][627,387]"/>
    

程序自动化执行

程序自动化就是重复以上流程,搜索->获取到结果->返回。
这是我的代码实现 https://github.com/dchaofei/phone-identifies-gender