一、说明

adb的db是debug bridge而不是和gdb一样指debug,这意思是说adb不能像gdb那样能一步步调试代码,但可以启到一些类似调试的功能。

下面就针对这些功能进行介绍,本文根据官方文档“http://adbshell.com/commands”整理而成。

这种烂大街的文章本不该再写了,但无耐每次自己用都得搜索筛选一藩,索性写下来权当就给自己看。

二、安装

如果安装了android sdk那么在sdk的platform-tools文件夹下就已经有adb了(使用时有点问题,我选择直接去下了一个)。

如果没有安装android sdk,那么也可以直接下载adb,解压即可使用。为了方便建议将解压到的目录加入环境变量。

三、使用

3.1 启动调试设备

模拟器----直接启动模拟手机

真机----通过usb线把手机接到电脑

3.2 查看当前有哪些设备

adb devices

第一列是设备序列号;其中“ip:port”组合的是模拟设备,“e6466a68”这种开头的是usb连接上来的真实手机。

如果只有一台设备,那么所有下面介绍的命令会自动在该设备上执行,如果有多个设备那么需要通过-s指定设备序列号不然会报“error: more than one device/emulator”(adb -s device_serial_number command形式)。

为了方便,在介绍后续命令前我将关掉上图中序列号为192.168.225.101:5555的模拟设备。

3.3 安装软件包

adb install /path/to/apk.apk

安装时有些手机可能要在手机上点击确认进行安装,不然会拒绝安装导致安装失败(报错:INSTALL_FAILED_USER_RESTRICTED: Install canceled by user)。

如果报错“error: unknown host service”,那有可能是360手机助手等占用了连接,通过任务管理器将其关闭即可。

3.4 查看已安装的软件包

adb shell pm list packages

此时会列出手机中所有已安装的转件包,为了快速找到自己想要的软件的包名,可以使用grep/findstr等命令进行过滤。

3.5 卸载已安装软件包

卸载不能通过安装apk时的apk文件名进行卸卸,需要指定软件完整包名进行卸载,包名可通过3.4介绍的办法进行查找

adb uninstall package_name

3.6 查看apk数据存放位置

adb shell pm path package_name

3.7 清空apk数据

adb shell pm clear package_name

3.8 查看当前所在目录

adb shell pwd

3.9 查看根目录下有哪些文件(夹)

adb shell ls /

3.10 查看磁盘挂载情况

adb shell df -h

3.11 上传文件到手机

adb push /local/path/to/file/filename /phone/file/path/to/save

路径linux用斜框windows用反斜杠

3.12 从手机下载文件到本地

adb pull /phone/path/to/file/filename /local/file/path/to/save

3.13 执行其他linux命令

要执行诸如cd、rm、mkdir、touch、cp、mv等等命令,都使用以下格式即可;如要带参数和在shell中使用一样直接带后面即可

adb shell command parameters

当然也可以直接使用adb shell进入交互shell,不用每次都带abd shell头;退出使用exit。如下图所示:

不过有些命令使用adb shell形式和进入交互shell形式,输出是不一样的,没有深究。

3.14 查看系统参数

adb shell dumpsys system_parameter

参考:

https://blog.csdn.net/gaojinshan/article/details/9455193

adb(Android Debug Bridge)安装使用教程的更多相关文章

  1. 用ADB(Android Debug Bridge)实时监测Android程序的运行

      监控Android设备上程序的运行,需要ADB的配合,具体ADB工具的介绍以及命令选项可见博客: http://blog.csdn.net/mliubing2532/article/details ...

  2. adb ( Android Debug Bridge)

    adb ( Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. adb工具的工 ...

  3. [ADB]ADB(Android Debug Bridge)简介及基础(不包含命令)

    "Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an ...

  4. C语言基础课程 第三课 ADB(Android Debug Bridge)的使用

     由于前面已经发布过Linux的博客了 基础班将Linux基础命令就不单独发表博客了,本节课主要就是利用adb连接手机进行一个Linux基本命令的复习.而且熟悉手机的底层运作,不用界面操作照样也能 ...

  5. adb Android Debug Bridge 安卓调试桥

    adb devices 获取设备列表及设备状态 adb get-state 获取设备的状态,设备的状态有 3 钟,device , offline , unknown device:设备正常连接 of ...

  6. [ADB Shell]Android Debug Bridge常用命令

    ADB用法 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important ...

  7. adb(android debug bridge)命令

    adb(android debug bridge) adb devices --查看当前连接的模拟器/设备 adb remount --模拟器/设备重新启动,保证能用 adb push src des ...

  8. adb(Android Debug Bridge)(一)

    上一篇介绍的am,pm命令都是基于adb shell下的命令.这节来详细介绍下adb命令. Android Debug Bridge(adb)是一个让你跟模拟器或者android设备通信的多功能命令. ...

  9. Android Debug Bridge命令介绍[转]

    Android Debug Bridge命令介绍 Android Debug Bridge的一些基本命令.这个工具直译过来就是Android调试桥的意思.它提供了强大的特性,例如复制文件到设备或从设备 ...

  10. Android Debug Bridge

    Android Debug Bridge Introduction     Android Debug Bridge (adb) is a versatile command line tool th ...

随机推荐

  1. C#窗口禁止移动的方法

    1,窗口属性中有locked属性,设置为true. (在自己进行编码的时候并没能找到这个属性,貌似只能在窗口设计时进行设置,故此方法无可控性) 2,窗口属性中有FormBorderStyle属性,设置 ...

  2. P1031 均分纸牌

    题目描述 有N堆纸牌,编号分别为 1,2,…,N1,2,…,N.每堆上有若干张,但纸牌总数必为N的倍数.可以在任一堆上取若干张纸牌,然后移动. 移牌规则为:在编号为1堆上取的纸牌,只能移到编号为2的堆 ...

  3. python (协程)生产者,消费者

    #coding=utf- import gevent from gevent.queue import Queue, Empty import time tasks = Queue(maxsize=) ...

  4. python调用虹软2.0

    第一版踩了无数的坑,终于第二版把坑全添了,这次更新可以正常获取人脸数,角度,代码可读性更高,继续更新中 第三版已发出 https://www.cnblogs.com/wxt51/p/10125460. ...

  5. 学习笔记40—endnote点点滴滴

    1.在endnote中,如果引用书籍时,需要作者名称后面加“逗号”,作者名称才不会缩写, 比如: 1) 加“逗号”之前: 2)加“逗号”之后

  6. Qt Model/View学习(二)

    Model和View的搭配使用 DEMO pro文件 #------------------------------------------------- # # Project created by ...

  7. java 数据导入xls

    @RequestMapping("admin/doorDesign/getexcel.do") public void getExcel(String name,String ph ...

  8. legend2---开发日志3(thinkphp的入口目录是public的体现是什么)

    legend2---开发日志3(thinkphp的入口目录是public的体现是什么) 一.总结 一句话总结:需要深刻理解程序的入口和入口位置都在public目录这里,比如读写文件的初始目录都在这,获 ...

  9. 雷林鹏分享:jQuery EasyUI 表单 - 过滤下拉数据网格

    jQuery EasyUI 表单 - 过滤下拉数据网格 下拉数据网格(Combogrid)组件和下拉框(Combobox)组件的共同点是,除了都具有下拉面板以外,它们都是基于数据网格(Datagrid ...

  10. Android Error:Could not find lottie.jar

    Android Error:Could not find lottie.jar 今天遇到了一个及其头疼的问题 同事的工程导到我的电脑里却报错,错误是找不到jcenter仓库里的lottie.jar包 ...