adb全称Android Debug Bridge ,安卓调试桥接器。它是Android SDK里面的一个工具,用这个工具可以直接操作管理Android模拟器或者真实Android设备。adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行eclipse时adb进程就会自动运行。

1.     adb devices

主要作用:查看当前已连接的设备,连接到计算机的Android设备或者模拟器将会以列表的形式显示。

输出格式:[serialNumber][state]

l  如果当前没有模拟器或者设备运行,adb则会返回List of devices attached为空

l  offline:表明设备没有连接到计算机或无响应

l  device:设备已经连接到计算机。注意,该状态并不表示Android设备可用,当Android设备处于启动阶段时,若连接成功也会返回该状态。

2.     adb install <apk文件路径>

主要作用:将指定的apk文件安装到设备上,<apk文件路径>可以从本地文件夹拖动到终端中。

常用参数:

adb install –r 覆盖安装

adb install –s 安装到SD卡

adb install –rs覆盖安装到SD卡

adb –s <serial number> install 选定设备安装

当有多个设备连接时,可以用下面的命令来直接选定设备进行安装。

adb [-d|-e|-s <serial number>] install <path_to_apk>

d:真机(多个设备中只有一个真机时适用)

e:模拟器(多个设备中只有一个模拟器时适用)

s:序列号

adb –d install ./test.apk

adb –s emulator-5556 install ./test.apk

3.     adb uninstall <包名>

主要作用:卸载设备上的指定程序

查看包名路径:/data/app,系统安装包路径:/sys/data,这两个路径下文件的查看都需要root权限

adb uninstall –k <包名>

adb shell pm uninstall –k <包名>

卸载程序但是保留其配置和缓存文件,即/data/data/packname下的数据与/sdcard/程序名 的数据

4.     adb push/pull

主要作用:复制文件

1)adb push <本地路径><设备路径>

把pc上的文件或文件夹复制到设备中。

adb push /home/test.apk /sdcard/

2)adb pull <设备路径><本地路径>

把设备上的文件或文件夹复制到电脑

adb pull /sdcard/log/test.xls /home/

Pull命令后可不输入本地地址,不输入时文件会复制到当前终端所在目录

5.     关闭和启动adb服务

sudo –s

adb kill-server  //关闭adb服务

adb start-server //启动adb服务

6.     sudo –isudo –s的区别

sudo –i:在root用户下,使用root权限执行adb命令

sudo –s:在当前用户下,使用root权限执行adb命令

7.     adb logcat

主要作用:查看日志,在命令行中显示调试信息

adb logcat >> <指定文件路径>   将logcat信息保存在指定文件中

>> 追加

>覆盖

adb logcat –help:查看logcat命令帮助文档

每一条日志消息都有一个标记和优先级与其关联。

格式为:<priority>/<tag>

过滤不同优先级的log:adb logcat *:W(过滤比W优先级低的log)

标记是一个简短的字符串,用于标识原始消息的来源(例如“View”来源于显示系统)。

优先级是下面的字符,顺序从低到高:

V—Verbose 明细(最低优先级)

D—Debug 调试

I—Info 信息

W—Warm 警告

E—Error 错误

F—Fatal 严重错误

S—Silent 无记载(最高优先级,没有什么会被记载)

建议配合Eclipse使用,查看logcat

8.     adb shell

由于Android是基于Linux内核的操作系统。因此,在Android上可以执行shell命令。

常用命令如下:

ls    查看文件夹

cd    改变目录

cat <文件名>    查看文件内容

rm    删除文件

mkdir <文件夹>    新建文件夹

cp    复制文件到另一目录

exit   退出shell命令

adb shell <command>    直接运行设备命令

adb shell su –c “<command>”    直接运行root权限命令

9.     adb shell am

am start –n <包名>/<包名>.<Activity名>   启动程序

am force-stop <包名>    强制停止程序

am kill <包名> 杀死与包名有关的后台进程,不影响用户体验,相当于一般的清理内存功能

am kill-all    杀死所有后台进程

10. adb shell pm

pm path <包名>   查看apk安装在手机后的路径

pm uninstall [-k] <包名>  卸载程序(-k:保留配置文件)

pm clear <包名>    清除应用缓存数据

11. 其他常用命令

adb help    显示帮助信息

adb version   显示adb版本

adb reboot    重启手机

adb shell am broadcast -a android.intent.action.MASTER_CLEAR(恢复出厂)

adb shell dumpsys window | grep init 查看手机的分辨率

adb logcat -s ActivityManager        Activity的启动时间

abd 命令的更多相关文章

  1. 利用ADB命令强制卸载oppo自带浏览器

    前言 oppo手机是自带oppo浏览器的,这个自带的浏览器带有oppo推荐的负面新闻很多,而且有时也自动推送一些消息给用户,页面不够简洁,打开浏览器负面内容比较多,所以想要强制卸载oppo浏览器,然后 ...

  2. Android & Eclipse FAQ

    一.eclipse中格式化代码快捷键Ctrl+Shift+F失效的解决办法 当我要格式化代码的时候,右键-source-format能够起效,但ctrl+shift+f不好使了. google之后来发 ...

  3. Android远程桌面助手(Build 0662)

    ARDC Build 0662, Jul 19, 2017 OPT: 1440*2560及以下分辨率设备,帧速能稳定在20帧~25帧 FIX: 拖拽文件的路径中包含空格的处理 ADD: 支持Ctrl+ ...

  4. 【辅助工具】Python实现微信跳一跳

    最近迷上了微信跳一跳小游戏,正好也看到知乎上有大神分享了技术贴,我也参考了好多资料,原理就是通过abd命令截取图片,python计算两个点距离,然后转化按压时间,让电脑来完成游戏.我花了很长时间才把程 ...

  5. 小鸟初学Shell编程(五)输入输出重定向

    重定向作用 一个进程默认会打开标准输入.标准输出.错误输出三个文件描述符. 重定向可以让我们的程序的标准输出.错误输出的信息重定向文件里,那么这里还可以将文件的内容代替键盘作为一种标准输入的方式. 重 ...

  6. adb(Andorid Debug Bridge)安装和使用

    以下是adb工具包最新2017Google官方版下载地址: ADB和Fastboot for Windows https://dl.google.com/android/repository/plat ...

  7. react-native warn Failed to connect to development server using "adb reverse":

    react-native环境搭建中的问题 本文环境说明:开发环境:window10专业版,目标平台:Android react: , react-native: java: 1.8.0_221 pyt ...

  8. 使用Scrcpy实现电脑控制安卓手机

    很多时候我们想要在电脑上使用一些手机软件,使用模拟器当然是一种选择,但是这些模拟器要不然不免费,要不然广告多不放心.Scrcpy是一个开源免费的软件,通过abd命令实现了安卓手机投屏和控制功能,并且支 ...

  9. adb command not found / abd' 不是内部或外部命令,也不是可运行的程序 或批处理文件。最简易修改

    此处提供最简易高效的方法 不需要添加.bash_profile 只需手动设置环境变量 1.打开环境变量设置页面:确保你ANDROID_HOME, JAVA_HOME已经设置好,我们针对abd的环境配置 ...

随机推荐

  1. Spring学习笔记1—依赖注入(构造器注入、set注入和注解注入)

    什么是依赖注入 在以前的java开发中,某个类中需要依赖其它类的方法时,通常是new一个依赖类再调用类实例的方法,这种方法耦合度太高并且不容易测试,spring提出了依赖注入的思想,即依赖类不由程序员 ...

  2. boost之数据结构和容器

    1.静态数组array,boost对静态数组进行了封装,使用和普通数组一样的初始化式进行初始化. #include <iostream> #include <boost/array. ...

  3. ABAP权限检查,TCode与权限对象进行关联

    一.确认权限对象,和关联字段: Tcode:SU21 维护权限对象例如"M_MSEG_WMB",它关联字段为'WERKS'M_MSEG_WMB 物料凭证:工厂 二.在ABAP代码中 ...

  4. 微信公众号的搭建-第四天(2)-获取并缓存access_token

    1. 什么是access_token? 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等 ...

  5. [不常用] - CSRF(跨站点请求伪造)

    CSRF,Cross Site Request Forgery,即跨站点请求伪造.   这种攻击是指,在用户正常登录系统以后,攻击者诱使用户访问一些非法链接,以执行一些非法操作. 比如:如果删除用户操 ...

  6. 初识python---简介,简单的for,while&if

    一编程语言:编程语言是程序员与计算机沟通的介质: 编程语言的分类:  1机器语言:是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合.           优点:灵活,直接执行和速度快   ...

  7. 使用concurrent.futures和ProcessPoolExecutor来替代线程和进程

    concurrent.futures和ProcessPoolExecutor这两个类实现的借口分别在不同的线程或进程中执行可调用的对象,这两个类在内部维护者一个工作线程或进程池,以及要执行的队列,这两 ...

  8. K8s API

    https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#daemonset-v1-apps http://docs.k ...

  9. mongoDB中批量修改字段

    // 为每一个文章文档新增一个image_count字段,用于记录此文章包含的图片个数 db['test.articles'].find({'title':'wfc test'}).forEach( ...

  10. Logistic回归python实现

    2017-08-12 Logistic 回归,作为分类器: 分别用了梯度上升,牛顿法来最优化损失函数: # -*- coding: utf-8 -*- ''' function: 实现Logistic ...