adb——Android的ADB工具使用
一、定义与作用:
ADB全称Android Debug Bridge, 就是起到调试桥的作用。是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备,默认情况下当我们运行Eclipse时adb进程就会自动运行。当然我们也可以在外部使用本身自带的一些命令,进行操控模拟器或者真实的设备。adb一般位于<sdk>/platform-tools/目录下,其中<sdk>是android sdk的安装目录。它的主要功能有:
(1)快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
(2)在设备上运行Shell命令;
(3)管理设备或手机模拟器上的预定端口;
(4)在设备或手机模拟器上复制或粘贴文件。
二、配置环境变量:
1,打开环境变量配置窗口。右击计算机,属性-高级系统设置-环境变量。
2.下面你可以建一个单独的变量,也可以直接在path后面直接追加,主要是个人习惯吧。要注意的是一定要指定目录为:D:\Android\Android-sdks\tools。这是我的目录
3.编辑成功运行的结果如下图:
三、代码的使用
1、
adb version 版本信息
C:\Users\Administrator>adb version
Android Debug Bridge version 1.0.31
2、
安装与卸载应用
可以通过install命令来从development computer安装一个应用到emulator/device上。
usage: adb install <path_of_apk>
通过uninstall命令可以卸载已经安装的软件。
1.usage: adb uninstall name-of-app-package
其中name-of-app-package是/data/data目录下的安装包。
2.手动删除
adb shell
cd /data/app
rm app.apk
3、
.复制文件
可以使用adb pull ,push 命令将文件复制到一个模拟器/设备实例的数据文件或是从数据文件中复制。install 命令只将一个apk文件复制到一个特定的位置,与其不同的是,pull 和 push 命令可让用户复制任意的目录和文件到一个模拟器/设备实例的任何位置。
从模拟器或者设备中复制文件或目录,使用如下命:
adb pull <remote> <local>
将文件或目录复制到模拟器或者设备,使用如下命令:
adb push <local> <remote>
在这些命令中, <local> 和<remote> 分别指通向自己的发展机(本地)和模拟器/设备实例(远程)上的目标文件/目录的路径。
下面是一个例子::
adb push foo.txt /sdcard/foo.txt
4、
从电脑上发送文件到设备
adb push <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
5、
从设备上下载文件到电脑
adb pull <远程路径> <本地路径>
用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
6、
查看设备
adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
7、adb logcat 使用logcat命令
8、
过滤日志输出
每一个输出的Android日志信息都有一个标签和它的优先级.
- 日志的标签是系统部件原始信息的一个简要的标志。(比如:“View”就是查看系统的标签).
- 优先级有下列集中,是按照从低到高顺利排列的:
V
— Verbose (lowest priority)D
— DebugI
— InfoW
— WarningE
— ErrorF
— FatalS
— Silent (highest priority, on which nothing is ever printed)
9、
控制日志输出格式
日志信息包括了许多元数据域包括标签和优先级。可以修改日志的输出格式,所以可以显示出特定的元数据域。可以通过 -v
选项得到格式化输出日志的相关信息.
brief
— Display priority/tag and PID of originating process (the default format).process
— Display PID only.tag
— Display the priority/tag only.thread
— Display process:thread and priority/tag only.raw
— Display the raw log message, with no other metadata fields.time
— Display the date, invocation time, priority/tag, and PID of the originating process.long
— Display all metadata fields and separate messages with a blank lines.
当启动了logcat
,你可以通过-v
选项来指定输出格式:
[adb] logcat [-v <format>]
下面是用 thread
来产生的日志格式:
adb logcat -v thread
需要注意的是你只能-v
选项来规定输出格式 option.
10、
启动shell命令
Adb 提供了shell端,通过shell端你可以在模拟器或设备上运行各种命令。这些命令以2进制的形式保存在本地的模拟器或设备的文件系统中:
/system/bin/...
不管你是否完全进入到模拟器/设备的adb远程shell端,你都能 shell
命令来执行命令.
当没有完全进入到远程shell的时候,这样使用shell
命令来执行一条命令:
adb [-d|-e|-s {<serialNumber>}] shell <shellCommand>
在模拟器/设备中不用远程shell端时,这样使用shell
命 :
adb [-d|-e|-s {<serialNumber>}] shell
通过操作CTRL+D
或exit
就可以退出shell远程连接.
下面一些就将告诉你更多的关于shell命令的知识.
adb 命令表
下列表格列出了adb支持的所有命令,并对它们的意义和使用方法做了说明.
Category |
Command |
Description |
Comments |
Options |
-d |
仅仅通过USB接口来管理abd |
如果不只是用USB接口来管理则返回错误 |
-e |
仅仅通过模拟器实例来管理adb |
如果不是仅仅通过模拟器实例管理则返回错误 |
|
-s <serialNumber> |
通过模拟器/设备的允许命令号码来发送命令来管理adb (如“emulator-5556″) |
如果没有指定号码,则会报错 |
|
General |
devices |
查看所有连接模拟器/设备的设施的清单 |
查看 Querying for Emulator/Device Instances 获取更多相关信息 |
help |
查看adb所支持的所有命令 |
||
version |
查看adb的版本序列号 |
||
Debug |
logcat [<option>] [<filter-specs>] |
将日志数据输出到屏幕上 |
|
bugreport |
查看bug的报告,如dumpsys ,dumpstate ,和logcat 信息 |
||
jdwp |
查看指定设施的可用的JDWP信息 |
可以用 forward jdwp:<pid>端口映射信息来连接指定的JDWP进程,例如: |
|
Data |
install <path-to-apk> |
安装Android为(可以模拟器/设施的数据文件.apk指定完整的路径) |
|
pull <remote> <local> |
将指定的文件从模拟器/设施拷贝到计算机上 |
||
push <local> <remote> |
将指定的文件从计算机上拷贝到模拟器/设备中 |
||
Ports and Networking |
forward <local> <remote> |
用本地指定的端口通过Socket方法远程连接模拟器/设施 |
端口需要描述下列信息:
|
ppp <tty> [parm]… |
通过USB运行ppp:
需要提醒的不能自动启动PDP连接 |
||
Scripting |
get-serialno |
查看adb实例的序列号 |
查看 Querying for Emulator/Device Instances 可以获得更多信息 |
get-state |
查看模拟器/设施的当前状态 |
||
wait-for-device |
如果设备不联机就不让执行,也就是实例状态是 device 时 |
可以提前把命令转载在adb的命令器中,在命令器中的命令在模拟器/设备连接之前是不会执行其他命令的,示例如下: adb wait-for-device shell getprop 需要提醒的是,这些命令在所有的系统启动起来之前是不会启动adb的,所以在所有的系统启动起来之前也不能执行其他的命令,例如,运用install 的时候就需要Android包,这些包需要系统完全启动,例如: adb wait-for-device install <app>.apk 上面的命令只有连接上了模拟器/设备连接上了adb服务才会被执行,而在Android系统完全启动前执行就会有错误发生 |
|
Server |
start-server |
选择服务是否启动adb服务进程 |
|
kill-server |
终止adb服务进程 |
||
Shell |
shell |
通过远程Shell命令来控制模拟器/设备实例 |
查看获取更多信息 for more information |
shell [<shellCommand>] |
连接模拟器/设施执行Shell命令,执行完毕后退出远程Shell端l |
转载于:https://www.cnblogs.com/meiwei101/p/3985657.html
adb——Android的ADB工具使用相关推荐
- iphone adb android,通过ADB获取Android手机信息
1.获取手机体系信息(CPU,厂商名称等) adbshell"cat/system/build.prop|grep"product"" 2.获取手机体系版别 a ...
- ubuntu 运行android sdk 下的工具adb报bash: ./adb: No such file or directory
ubuntu 运行android sdk 下的工具adb报bash: ./adb: No such file or directory 运行adb出现这种错误: bash: ./adb: No suc ...
- android mysql开发工具_Android开发工具--adb的使用
adb(Android Debug Bridge)是Android提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机模拟器的状态.还可以进行以下的操作: 1.快速更新设备或手机模拟器中的代 ...
- android 通过adb工具实现无线连接安卓设备并调试
最常用电脑连接安卓设备是通过USB数据线,不多赘述,下面是通过adb工具实现局域网无线连接安卓设备,可以用于AS调试. windows电脑是在amd中输入adb命令,和mac电脑有所差异: 以mac电 ...
- 工具篇 之 Android WIFI ADB 实战
LZ-Says:累哇哇... 前言 enmmm,新工作,新起点,新开始... 今天忘记拿 usb 线,想着怎么破? enmmm,想了想,突然想到有个 WIFI ADB,遂,开始一波实战~~~ 实践 直 ...
- [ADB]ADB(Android Debug Bridge)简介及基础(不包含命令)
"Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an ...
- (转)Android 常用 adb 命令总结
转载地址:https://www.cnblogs.com/bravesnail/articles/5850335.html 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常 ...
- android 配置ADB环境
今天,简单讲讲如何配置Android的adb命令环境. 之前,自己要使用Dos窗口的ADB命令,发现无法识别.很明显是ADB环境没有配置好.我这里Android studio的huan环境已经配置好了 ...
- android ne调试工具,Android调试工具adb的正确使用方式
引言: 通常在使用Eclipse进行Android应用开发的时候,我们可以使用Eclipse自带的工具来完成调试和查看输出日志的操作,但是假如在当前电脑并没有配置适用于Android开发的Eclips ...
最新文章
- luogu P2365 任务安排(FJOI2019 batch)
- 营业额破千亿美元的亚马逊仍难令华尔街满意
- spring boot: 计划任务@ EnableScheduling和@Scheduled
- centos xampp安装mysql_在xampp上部署dvwa|centos(linux)环境
- 省市级联基于jquery+json(转)
- 小程序影藏溢出的gif_ScreenToGif:一款小巧实用动图gif制作神器
- 年终总结系列6:借与贷,科普LTV指标
- 电视墙服务器应用,电视墙服务器技术概述
- 远程心电监护系统在现代医疗中的应用
- python实验报告_20183122 实验一《Python程序设计》实验报告
- Java 核心内容相关面试题【3】
- c语言 枚举大小写,C语言枚举类型(Enum)深入理解
- Struts功能详解——ActionForm
- tf卡可以自己裁剪成nm卡_手头这多卡—到底哪款TF卡才值得购买?
- 【论文笔记】Weakly Supervised Discriminative Feature Learning with State Information for Person ...
- 服务器租用价格与哪些因素有关?
- win7与internet时间同步出错_win7系统同步internet时间总提示“同步时出错”的解决方法...
- vue源码分析系列三:render的执行过程和Virtual DOM的产生
- http、https 等 常用默认端口号
- Invalid default value for
热门文章
- IIS内部错误:500之解决方案
- [react] 在React中你有遇到过安全问题吗?怎么解决?
- 前端小知识点(7):正则前瞻
- [html] 切页面时,每次都动手刷新看效果很麻烦,如果要让你写一个实时刷新预览的工具你该怎么写?
- [css] 如何使用css3实现一个div设置多张背景图片?
- 前端学习(2821):windows上配置tabber字段
- 前端学习(2559):双向数据和单向数据不冲突
- plsql轻量版游标的使用
- 前端学习(1439):vue的helloworld
- 前端学习(226):定位使用