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

编辑: admin 分类: Android 发布时间: 2021-11-29 来源:互联网
目录
  • 一、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表示本机文件的路径

            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介绍的资料请关注海外IDC网其它相关文章!

            【文章出处:美国多ip服务器