温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android开发调试工具ADB命令及安装的示例分析

发布时间:2021-09-09 14:40:00 来源:亿速云 阅读:235 作者:柒染 栏目:开发技术

本篇文章为大家展示了Android开发调试工具ADB命令及安装的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

    一、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服务端进行通信

    上述内容就是Android开发调试工具ADB命令及安装的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI