超详细的Android开发调试工具ADB命令及安装介绍

目录

  • 一、ADB简介
  • 二、安装ADB
  • 三、环境变量
  • 四、连接真机
  • 五、常用命令
    • 查看ADB版本
    • 帮助信息(重要)
    • 开启ADB服务端
    • 关闭ADB服务端
    • 安装App
    • 卸载App
    • Push文件
    • Pull文件
    • 查看日志
  • 六、高级技巧…
    • 指定多个设备中的1个或n个
    • WLAN连接
      • 如何建立连接?
      • 如何断开WLAN连接?
  • 七、高级Unix命令行工具(Android基于Linux内核)
    • 查看Android设备可用命令(重要)
      • 执行任意的可用命令
        • input
        • 八、经常使用的Unix命令行工具
          • 九、ADB原理
            • 采用客户端/服务端架构(C/S架构)
              • 由3个进程组成
              • 进程通信方式
              • 进程生命周期
              • 5037端口
          • 十、小秘密

            一、ADB简介 简称:ADB
            英文全称:Android Debug Brige
            中文全称:Android调试桥
            作用:与Android设备进行通信的工具

            二、安装ADB adb 包含在 Android SDK平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下。
            或者,如果您需要独立的 Android SDK 平台工具软件包,可以点击此处进行下载。

            三、环境变量 Windows、Mac、Linux下不同的配置方式,根据对应平台去百度或者Google搜索即可,限于篇幅本文略过

            四、连接真机 1、启用开发者选项
            连续点按版本号7 次(设置 > 关于手机 > 版本号)
            2、启用USB调试
            开发者选项 > USB 调试
            3、启用文件传输
            将USB充电模式改为文件传输
            4、手机RSA密钥授权
            设备中弹出对话框,必须手工确定才能执行USB调试和其他 adb 命令

            五、常用命令
            查看ADB版本
            adb version

            帮助信息(重要)
            adb --help

            adb help

            adb
            ADB的帮助信息描述的非常全面,学会查看命令行工具的帮助信息,事半功倍

            开启ADB服务端
            adb start-server

            关闭ADB服务端
            adb kill-server
            检查设备连接情况
            简略信息:adb devices
            详细信息:adb devices -l

            安装App
            普通安装:adb install xxx.apk
            重新安装,保持数据不清除(覆盖安装) :adb install -r xxx.apk
            允许debug包安装:adb install -t xxx.apk
            授权AndroidManifest.xml文件的运行时权限并安装:adb install -g xxx.apk
            将多个apk推送到设备,作为一个包安装:adb install-multiple xxx1.apk xxx2.apk

            卸载App
            普通卸载:adb uninstall com.xxx.package_name
            保持数据卸载:adb uninstall -k com.xxx.package_name

            Push文件
            从本机推送到Android设备上:adb push local remote
            local表示本机文件的路径
            【超详细的Android开发调试工具ADB命令及安装介绍】remote表示Android设备的路径

            Pull文件
            从Android设备上拉取到本机:adb pull remote local
            remote表示Android设备的文件或目录的路径
            local表示本机文件或目录的路径

            查看日志
            adb logcat

            六、高级技巧…
            指定多个设备中的1个或n个
            adb devices 命令或adb devices -l获取所有设备的序列号
            1、adb -s 序列号 命令 …… 举个例子:adb -s dasdfew123 install xxx.apk
            或者
            1、ANDROID_SERIAL环境变量,可以指定单个设备的序列号
            2、ANDROID_SERIAL环境变量,可指定n个设备的序列号,以逗号“,”作为分隔符
            不使用 -s 指定序列号时,adb会读取ANDROID_SERIAL环境变量的值
            同时使用 -s 和ANDROID_SERIAL环境变量,则-s会覆盖掉ANDROID_SERIAL环境变量的值

            WLAN连接
            前提:手机与PC处于同一局域网(同一个WLAN下)
            原理:PC上的adb服务端与Android设备上的adbd进程建立TCP连接

            如何建立连接? 1、 先将手机与PC通过USB连接
            adb tcpip 5555
            运行后,Android设备上的adbd进程将开始监听5555端口(处于Listener状态)
            2、从USB连接上拔掉手机
            adb connect <手机IP>
            运行后,PC上的adb服务端与Android设备上的adbd进程(监听5555端口)建立TCP连接

            如何断开WLAN连接? adb disconnect
            如何将Android设备的WLAN连接切换为USB连接?
            adb usb
            蓝牙连接
            ... ...暂时
            端口转发
            ……暂时

            七、高级Unix命令行工具(Android基于Linux内核)
            查看Android设备可用命令(重要)
            adb shell ls /system/bin
            进入设备shell
            adb shell

            执行任意的可用命令
            (adb shell ls /system/bin中列出来的命令都可使用)
            top
            ps
            dumpsys
            am

            input
            等等等等……各种命令……未完待续

            八、经常使用的Unix命令行工具 查看进程状态:ps
            查看cpu状态:top
            系统服务:dumpsys

            九、ADB原理
            采用客户端/服务端架构(C/S架构)

            由3个进程组成 1、ADB客户端进程
            运行在PC上,用于发送命令,为CLI客户端,在命令行中启动,命令运行结束,进程随着结束
            2、ADB服务端进程
            运行在PC上, 由ADB客户端启动,负责与Android设备上的adbd进程通信、负责与PC上的ADB客户端进程通信;PC上的ADB客户端与Android设备上的adbd进程通信,全靠PC上的ADB服务端进程进行转发……
            3、adbd进程
            运行在Android设备上,负责与PC上的ADB服务端进程通信

            进程通信方式 1、ADB客户端与ADB服务端
            ADB客户端、ADB服务端均运行在PC上,采用TCP建立连接,即Network Socket
            2、PC上的ADB服务端与Android设备上的adbd进程
            采用USB cable建立连接(默认)
            or
            采用TCP建立连接(无线adb)

            进程生命周期 1、ADB客户端进程的生命周期
            在命令行中输入任意的adb命令,会创建ADB客户端进程,待客户端的命令执行结束,adb客户端进程会自然销毁
            2、ADB服务端进程的生命周期
            由任意客户端唤起(如adb命令行,Android Studio等等),常驻在PC的内存中,作为守护进程
            3、adbd进程的生命周期
            由init进程通过读取init.rc文件(该文件存有adbd进程的配置信息),然后fork出来adbd进程,adbd进程是在Android系统启动后即创建,它一直运行在Android的内存中,作为Android设备的守护进程

            5037端口 1、当启动任意一个ADB客户端(Android Studio、命令行工具等等),ADB客户端会检查ADB服务器进程是否正在运行
            2、如果ADB服务端没有运行,ADB客户端将执行启动一个ADB服务端进程的代码
            3、ADB服务端启动后就会在PC的本地5037端口(TCP端口)绑定,监听所有ADB客户端发出的命令,所有ADB客户端均通过TCP端口5037与ADB服务端进行通信

            十、小秘密 发现一个秘密,Mac上将Android Studio关闭后,ADB 服务端进程(adb server)一定会被杀死,不信你试一试……
            参考文献:
            https://developer.android.google.cn/studio/debug/dev-options配置设备上的开发者选项
            https://developer.android.google.cn/studio/run/device在硬件设备上运行应用
            以上就是超详细的Android调试工具ADB安装使用技巧介绍的详细内容,更多关于Android调试工具ADB介绍的资料请关注脚本之家其它相关文章!

              推荐阅读