一、ADB简介

1.什么是ADB

Android Debug Bridge,安卓调试桥,它借助adb.exe(Android SDK安装目录platform-tools下),用于电脑端与模拟器或者真实设备交互;使用adb命令需安装Android SDK,并配置环境变量;

2.ADB架构及组成

它是一个C/S架构的应用程序,由三部分组成:

  • adb client:运行在PC上(为DDMS即IDE工作)
  • adb daemon:守护进程,运行于Emulaor
  • adb server:服务进程,运行在PC,管理adb client和adb daemon之间的通信

server与client通信的端口是5037,adb server与emulator交互时使用的端口有两个:

  • 5554专门用于与Emulator实例的连接
  • 5555专门用于与daemon连接

3.ADB的主要功能

  • 运行设备的shell(命令行)
  • 管理模拟器或设备的端口映射
  • 计算机和设备之间上传/下载文件
  • 将本地apk软件安装至模拟器或android设备

二、搭建JDK

adb搭建依赖JDK环境

source jdk_install.sh  # 安装jdk

以下是Linux平台JDK安装脚本:jdk_install.sh

#!/bin/sh
cur_pass=`pwd`
jdk_install_file=$cur_pass"/jdk_install_process" echo "=====`date`===start JDK install !!!!=====" >>$jdk_install_file
if [ -d "/usr/lib/jdk1.8.0_45" ];then
echo "=====`date`===JDK install over !!!!=====" >>$jdk_install_file
exit 0
fi
if [ ! -f "./jdk-8u45-linux-x64.gz" ];then
echo "=====`date`===JDK install pkg not exists !!!!=====" >>$jdk_install_file
exit -1
fi
`tar zxf jdk-8u45-linux-x64.gz`
`mv jdk1.8.0_45 /usr/lib/`
echo "export JAVA_HOME=/usr/lib/jdk1.8.0_45" >>/etc/profile
echo "export PATH=\$PATH:\$JAVA_HOME\"/bin\"" >>/etc/profile
echo "=====`date`=== JDK install SUCCESS !!!!=====" >>$jdk_install_file

Linux版JDK安装包下载地址:https://share.weiyun.com/mKDxXd1x

三、搭建Android SDK

1.下载并解压Linux-Android-SDK安装包

链接:https://pan.baidu.com/s/1Qz3JsWrzGCkG8_ooQU1JWw

提取码:xtsn

# 解压安装包,解压后会得到android-sdk-linux目录
tar -xvf android-sdk_r24.4.1-linux.tgz

注意:

这个工具包解压后是没有platform-tools目录的(platform-tools包含adb等工具),也没有sdkmanager工具,看了网上很多教程都没有说明这些,就直接配置环境变量了,真是瞎指导,导致走了很多弯路。

可以通过cmdline-tools来安装platform-tools

2.下载并解压cmdlinetools

https://developer.android.google.cn/studio#downloads 或通过百度网盘下载

链接:https://pan.baidu.com/s/16c7ZtIVrHsVvKv1SbGZbWA

提取码:slot

unzip commandlinetools-linux-8092744_latest.zip  # 解压cmdline-tools
cd cmdline-tools
mkdir latest # 在cmdline-tools目录内新建latest目录
mv bin lib NOTICE.txt source.properties latest/ # 将cmdline-tools目录下的所有文件及目录移动到latest目录下

3.安装platform-tools

cd latest/bin
./sdkmanager --install platform-tools # 安装platform-tools

此时,再查看android-sdk-linux目录下,就有了platform-tools目录,进入到platform-tools目录就可以看到adb工具

4.配置环境变量

编辑配置文件:vi /etc/profile,添加以下内容:

source /etc/profile  # 重新加载配置文件

5.验证adb环境

adb --version  # 查看adb版本

出现以下信息,表示配置成功

6.接入Android设备

部署完adb环境,Android设备开启USB调试模式后,直接插入Linux服务器设备即可

adb devices

7.adb指定设备操作

当PC接入的Android设备数量>1台时,执行adb命令会报错提示“adb: more than one device/emulator”

出现以上情况可以使用“-s”参数来指定要操作的设备,例如:

adb -s 66J5T19614010786 shell

感谢

https://www.jianshu.com/p/f635b492cc7c

https://developer.aliyun.com/article/928228

更多测试开发实战干货,欢迎扫码关注,一起交流、学习!

如何在Linux快速搭建一套ADB环境的更多相关文章

  1. Linux快速搭建C/C++开发环境

    导读:越来越多的程序员在Linux下进行C/C++的开发.本文以CentOS 7为例,教你快速搭建一个vi + gcc/g++ + Make + valgrind的开发环境. 本文字数:1500,阅读 ...

  2. 【转】windows和linux中搭建python集成开发环境IDE

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  3. 快速搭建 Node.js 开发环境以及加速 npm

    如何快速搭建 node 开发环境 npm 超慢 github 无法打开的问题 于是我觉得应该写一篇文章解答所有这些起步问题,让新同学也能顺顺利利入门. 快速搭建 Node.js 开发环境 如果你想长期 ...

  4. windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境)

    推荐几款一键快速搭建PHP本地运行环境的好工具(含php7.0及apache,nigix,mysql) 首推phpstudy2016和wampServer3.0.6     理由支持php7.0 目前 ...

  5. 【转】使用nvm快速搭建 Node.js 开发环境

    原文链接:http://www.cnblogs.com/shuoer/p/7802891.html 快速搭建 Node.js 开发环境 如果你想长期做 node 开发, 或者想快速更新 node 版本 ...

  6. windows和linux中搭建python集成开发环境IDE——如何设置多个python环境

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  7. LINUX下搭建JAVA的开发环境

    LINUX下搭建JAVA的开发环境 (2009-07-13 10:04:13)     下面就将Linux下JAVA开发环境的搭建详细道来: 1.Linux下JDK的安装 至于下载JDK的二进制可执行 ...

  8. Linux下搭建C/C++编程环境

    Linux下搭建C/C++编程环境 1.KDevelop下载 wget -O KDevelop.AppImage https://download.kde.org/stable/kdevelop/5. ...

  9. centos7 快速搭建redis集群环境

    本文主要是记录一下快速搭建redis集群环境的方式. 环境简介:centos 7  + redis-3.2.4 本次用两个服务6个节点来搭建:192.168.116.120  和  192.168.1 ...

随机推荐

  1. 20212115朱时鸿 《python程序设计》实验四报告

    课程:<Python程序设计>班级: 2121姓名: 朱时鸿学号:20212115实验教师:王志强实验日期:2022年5月28日必修/选修: 公选课 1.实验内容 Python综合应用:爬 ...

  2. [python][flask] Flask 图片上传与下载例子(支持漂亮的拖拽上传)

    目录 1.效果预览 2.新增逻辑概览 3.tuchuang.py 逻辑介绍 3.1 图片上传 3.2 图片合法检查 3.3 图片下载 4.__init__.py 逻辑介绍 5.upload.html ...

  3. Dev C++编写C/C++程序 出现[Error] ld returned 1 exit status报错分析及解决

    debug系列第一弹,不知道大家写程序的时候是不是都遇到过如题的报错. 我本人是经常遇到这行熟悉的令人不知所措的报错,可能是我太笨了 有时候百度无果也差不到原因,那就汇总一下目前我遇到的情况吧--持续 ...

  4. pytorch 中 repeat 和 expend 的功能和区别

    功能 均是用于扩展张量的维度 区别 tensor.expand(*sizes) 将张量中单维度(singleton dimensions,即张量在某个维度上为1的维度,exp(1,2,3),其中在第一 ...

  5. 牛亚男:基于多Domain多任务学习框架和Transformer,搭建快精排模型

    导读: 本文主要介绍了快手的精排模型实践,包括快手的推荐系统,以及结合快手业务展开的各种模型实战和探索,全文围绕以下几大方面展开: 快手推荐系统 CTR模型--PPNet 多domain多任务学习框架 ...

  6. 我熬夜开发了一款简约实用、支持多平台的Markdown在线编辑器(开源)

    前言 之前,一直想开发一款属于自己的Markdown编辑器,主要是自己平常写文章可以更加灵活操作,另外扩宽自己的视野也是非常不错的选择啊!所以在周末就决定玩耍一番.首先我调研了很多线上热门的md编辑器 ...

  7. Linux的文件路径和访问文件相关命令

    Linux的绝对和相对路径 绝地路径 绝对路径:以根作为起来的路径 相对路径 相对路径:以当前位置作为起点 文件操作命令 显示当前工作目录: pwd命令 pwd:显示文件所在的路径 基名:basena ...

  8. 深入浅出理解SVM支持向量机算法

      支持向量机是Vapnik等人于1995年首先提出的,它是基于VC维理论和结构风险最小化原则的学习机器.它在解决小样本.非线性和高维模式识别问题中表现出许多特有的优势,并在一定程度上克服了" ...

  9. C++20 以 Bazel & Clang 开始

    C++20 如何以 Bazel & Clang 进行构建呢? 本文将介绍: Bazel 构建系统的安装 LLVM 编译系统的安装 Clang is an "LLVM native&q ...

  10. 挑战30天写操作系统-day2-汇编语言学习与Makefile入门

    1.介绍文本编辑器 这里,我们直接采用自己windows电脑自带的文本编辑器即可以完成制作要求 2.继续开发 下面先是对昨天使用的helloos.nas文件内容进行详细解释 ; hello-os ; ...