2019-06-10 Python Android 自动化 1/10 - ADB 介绍


Python Android 自动化 1/10 - ADB


1. ADB是什么

    adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。

    adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的android设备(如G1手机).  它的主要功能有:

    * 运行设备的shell(命令行)

    * 管理模拟器或设备的端口映射

    * 计算机和设备之间上传/下载文件

    * 将本地apk软件安装至模拟器或android设备

    ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.

    摘自:百度百科 https://baike.baidu.com/item/ADB/23427792

2. ADB怎么安装

    ADB是安装Android Studio SDK后附带的工具,不需要另外安装,官方下载地址:https://developer.android.google.cn/studio/

    最低限度只需要以下三个文件,可以拷贝到Python脚本所在目录,或者添加到系统路径中:

    adb.exe

    AdbWinApi.dll

    AdbWinUsbApi.dll

    参考:https://jingyan.baidu.com/article/7f41ecec349c0f593d095c84.html

3. ADB能干什么

    adb 可以做到的事情,包括不限于:

    列出所有设备信息;

    通过TCP连接目标设备、端口转发;

    安装 / 卸载 / 启动 应用;

    推送文件到设备 / 下拉文件到本地;

    查看 设备信息 / 系统日志;

    发送命令;

    ...

    参考:https://www.jianshu.com/p/698a24d758c7

               https://www.jianshu.com/p/860bc2bf1a6a


    这次主要用到的:

        清理ADB: adb kill-server(启动ADB前需要清理之前启动过的进程,否则出错);

        启动ADB: adb start-server;

        点击屏幕: adb shell input tap 50 100 (点击屏幕上50,100坐标,具体跟屏幕尺寸及分辨率相关);

        滑动屏幕: adb shell input swipe 50 100 50 200 (下滑屏幕,从50,100坐标滑到50,200坐标);

        屏幕截图: adb shell screencap -p /sdcard/screen.png (截图保存为screen.png);

        下拉文件: adb pull /sdcard/screen.png (把screen.png拉回PC);

        输入文字: adb shell input text  12345  (向安卓设备输入12345,只能是英文字母或数字,中文要另外处理);

        输入中文: 先安装这个开源输入法: https://github.com/senzhk/ADBKeyBoard (据说还能输入韩文日文等等,但我没试过);

                           设置安卓当前输入法:adb shell ime set com.android.adbkeyboard/.AdbIME;

                           输入中文:adb shell am broadcast -a ADB_INPUT_TEXT --es 中文字符串;

        静音:        adb shell input keyevent 164;

        返回按钮: adb shell input keyevent 4;

        启动应用: adb shell am start -n 应用名称/activity名称(如何找到一个App的应用名称和Activity名称,后续会展开说);

        退出应用: adb shell pm clear 应用名称

你可能感兴趣的:(2019-06-10 Python Android 自动化 1/10 - ADB 介绍)