一,什么是adb?  

  adb全称为Android Debug Bridge,就是起到调试桥的作用。顾名思义,adb就是android sdk 的一个工具

  借助adb工具,我们可以管理设备或手机模拟器的状态,还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。简而言之,adb就是连接Android手机和PC端的桥梁,可以让用户在电脑上对手机进行全面的操作

二,adb的工作原理

  

上图是一个简单的adb工作原理图。adb客户端服务器端程序,由上图可以看出它主要三个组件组成:Client,Server,Daemon。

(1)当你启动一个adb Client(客户端),Client首先会选确认是否已有一个adb Server(服务器)进程在运行,如果没有,则会启动Server进程。此时,adb Server就会绑定本地的TCP端口5037,并监听adb Client发来的命令。

(2)接着,Server将会扫描所有5555到5585范围内的奇数端口来定位所有的模拟器或设备,并与之建立连接。一旦Server找到 了adb daemon(守护程序),它将建立一个到该端口的连接,这样,我们就可以使用adb命令控制和访问模拟器或设备了。在这里,需注意的是任何模拟器或设备实例会取得两个连续的端口:一个偶数端口用来相应控制台的连接,和一个奇数端口用来响应adb连接

三,adb的安装

  1,下载SDK工具包

  链接:https://pan.baidu.com/s/1yJDynCiFMb_jwQP4hzZIlg
  提取码:6ak1

  解压后我们能看到如下目录

  

  2,目录说明:

  add-ons:里面保存着一些附加的库,第三方公司为Android平台开发的附加功能系统。比如GoogleMaps(一开始此包为空)

  build-tools:编译工具目录,包含了转化为davlik虚拟机的编译工具。当创建Android项目(构建项目)的时候会用到这个包。在创建项目的时候如果没有此包会报错。 (随着SDK版本的迭代,编译工具也会有相应新版本,建议使用最新的编译工具)

  docs:这里面是Android SDKAPI参考文档,所有的API都可以在这里查到

  extras:该文件下存放了Google提供的USB驱动,Intel提供的硬件加速附件工具包。(后期存放了Android Support兼容包,使用兼容包版本时最好与SDK版本保持一致)

  platforms:里面是根据APILevel划分的SDK版本/平台,这个文件夹是SDK里面最重要的文件(每个平台的SDK真正的文件),这里就以Android6.0为例,进入后有一个android-23的文件夹,android-23进入后是Android6.0 SDK的主要文件

        其中 data:保存着一些系统资源, skins:Android模拟器的皮肤, templates:是工程创建的默认模板, android.jar:是该版本的主要framework文件

  platforms-tools:该文件夹下放了Android平台的相关开发和调试工具,比如adb.exe、sqlite3.exe等。platform-tools保存着一些通用工具,比如adb、和aapt、aidl、dx等文件

  system-images:存放的是创建Android虚拟机时的镜像文件(已经编译好的镜像文件,模拟器可以直接加载)。从android-14开始将模拟器镜像文件整理在这里(原来放在platforms下)

  temp:临时目录

  tools: 这个文件夹下存放了大量Android开发、调试的工具。包括测试、调试、第三方工具。模拟器、数据管理工具等。比如ddms用于启动Android调试工具,比如logcat、屏幕截图和文件管理器,而draw9patch则是绘制android平台的可缩放png图片的工具而monkeyrunner则是一个不错的压力测试应用,模拟用户随机按键,mksdcard则是模拟器SD映像的创建工具,emulator是Android SDK模拟器主程序,不过从android 1.5开始,需要输入合适的参数才能启动模拟器,traceview作为android平台上重要的调试工具

四,配置环境变量

  1,打开环境变量:【此电脑】--右键--【属性】---【高级系统设置】---【环境变量】---【系统变量】--【path】

  在path中添加:platforms-tools和tools的绝对路径

  

  2,测试

  打开cmd或者win+r 打开dos命令,输入adb,若出现adb的说明就意味着成功了,如图:

  

  

adb的基本安装和介绍(一)的更多相关文章

  1. 【adb命令】在cmd窗口中使用adb install命令安装 中文名字apk报错的解决办法

    1.在cmd窗口中使用adb install命令安装中文名字apk报错,安装英文名字apk就正常,详细报错如下图: 2.查看adb版本号:adb version 3.怀疑是adb版本的原因,尝试换个最 ...

  2. Sikuli图形脚本测试工具安装及介绍(适合小白的测试神器)

    sikuli简单安装以及介绍附图: 一.简单介绍 SikuliX官方网站:https://launchpad.net/sikuli/(官方的最新版本是SikuliX1.1.0更新于2015-10-06 ...

  3. [异常解决] android studio检测不到手机的解决办法——ADB驱动自己安装

    用android studio搭建安卓开发环境比eclipse简单的多,仅仅下载一个1个G左右的安装包安装即可. 安装好之后随便建一个hello world工程,想用实体手机调试要点: 选择USB设备 ...

  4. python Scrapy安装和介绍

    python Scrapy安装和介绍 Windows7下安装1.执行easy_install Scrapy Centos6.5下安装 1.库文件安装yum install libxslt-devel ...

  5. ADB调试桥安装(方式二)

    想使用ADB工具可以通过安装安卓SDK套件,然后通过SDK里面的adb工具连接手机进行调试, 然而这种方式安装起来多多少少还是有点麻烦,ADB调试桥安装(方式一). 另一种方式来的就更为舒服一些了,即 ...

  6. Visual Studio 2017正式版离线安装及介绍

    Visual Studio 2017 RTM正式版离线安装及介绍. 首先至官网下载:https://www.visualstudio.com/zh-hans/downloads/ VS 2017 正式 ...

  7. 使用拷贝的方式(adb push) 绕过Android系统和adb install直接安装APK

    某些情况下定制的Android系统为了限制用户安装应用,例如电视盒子,车载中控等,通过修改代码屏蔽了正常安装应用的方式 本文探讨如何在 adb shell 具有读写data分区目录的权限前提下,通过a ...

  8. ansible安装 使用 介绍

    1.介绍安装 a.介绍 Ansible:—基于 Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作. b.安装 ...

  9. mongodb可视化工具 studio3t robo3T 下载安装使用介绍

    mongodb可视化工具 studio3t  robo3T 下载安装使用介绍 下载地址: https://studio3t.com/download robo3T

随机推荐

  1. python中excel数据分组处理

    1.场景描述 因文本相似性热度统计(python版)需求中要根据故障类型进行分组统计,需要对excel进行分组后再分词统计,简单记录下,有需要的朋友可以直接拿走,不客气! 2.解决方案 采用panda ...

  2. c语言之单向链表

    0x00 什么是链表 链表可以说是一种最为基础的数据结构了,而单向链表更是基础中的基础.链表是由一组元素以特定的顺序组合或链接在一起的,不同元素之间在逻辑上相邻,但是在物理上并不一定相邻.在维护一组数 ...

  3. MVC04

    1. 从页面到action 讲述controller与View之间的具体运作关系 在上次添加的名为Movie的Model内添加 下面我们尝试为该model内的属性添加attribute 具体修改如下: ...

  4. VUE实现Studio管理后台(七):树形结构,文件树,节点树共用一套代码NodeTree

    本次介绍的内容,稍稍复杂了一点,用VUE实现树形结构.目前这个属性结构还没有编辑功能,仅仅是展示.明天再开一篇文章,介绍如何增加编辑功能,标题都想好了.先看今天的展示效果: 构建树必须用到递归,使用s ...

  5. 前端的事件冒泡(例如点击一次onclick事件执行两次)解决办法

    问题概要: 当我运用antd 中 radio组件的时候发现radio组件是有bug的 就是你不能给他赋予id 和 value,同时也绑定不上onclick等事件.举个例子: 可以看到 你就算赋予了id ...

  6. SpringBoot1.5.10.RELEASE整合druid

    1.先在pom文件中导入druid的jar包 <dependency> <groupId>com.alibaba</groupId> <artifactId& ...

  7. mac 工具推荐

    传送门: https://github.com/jaywcjlove/awesome-mac/blob/master/README-zh.md

  8. go 下载qq音乐

    //go下载qq音乐 package main import ( _ "fmt" jsoniter "github.com/json-iterator/go" ...

  9. iview 踩坑之旅

    公司重构管理系统,框架定了vue,UI在element和iview之间选,element样式被吐槽丑,于是选了iview,但是,,这个坑多啊... 废话少说,罗列了iview中容易出错或者懵逼的一些地 ...

  10. 什么是SSH与SSH客户端

    1.什么是SSH? SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SS ...