如何在Linux快速搭建一套ADB环境
一、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环境的更多相关文章
- Linux快速搭建C/C++开发环境
导读:越来越多的程序员在Linux下进行C/C++的开发.本文以CentOS 7为例,教你快速搭建一个vi + gcc/g++ + Make + valgrind的开发环境. 本文字数:1500,阅读 ...
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 快速搭建 Node.js 开发环境以及加速 npm
如何快速搭建 node 开发环境 npm 超慢 github 无法打开的问题 于是我觉得应该写一篇文章解答所有这些起步问题,让新同学也能顺顺利利入门. 快速搭建 Node.js 开发环境 如果你想长期 ...
- windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境)
推荐几款一键快速搭建PHP本地运行环境的好工具(含php7.0及apache,nigix,mysql) 首推phpstudy2016和wampServer3.0.6 理由支持php7.0 目前 ...
- 【转】使用nvm快速搭建 Node.js 开发环境
原文链接:http://www.cnblogs.com/shuoer/p/7802891.html 快速搭建 Node.js 开发环境 如果你想长期做 node 开发, 或者想快速更新 node 版本 ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- LINUX下搭建JAVA的开发环境
LINUX下搭建JAVA的开发环境 (2009-07-13 10:04:13) 下面就将Linux下JAVA开发环境的搭建详细道来: 1.Linux下JDK的安装 至于下载JDK的二进制可执行 ...
- Linux下搭建C/C++编程环境
Linux下搭建C/C++编程环境 1.KDevelop下载 wget -O KDevelop.AppImage https://download.kde.org/stable/kdevelop/5. ...
- centos7 快速搭建redis集群环境
本文主要是记录一下快速搭建redis集群环境的方式. 环境简介:centos 7 + redis-3.2.4 本次用两个服务6个节点来搭建:192.168.116.120 和 192.168.1 ...
随机推荐
- DOM获取元素、修改元素
## DOM获取元素.修改元素### 1.DOM#### ①什么是DOM?作用? > DOM是文档对象模型 > 作用:操作网页内容,可以开发网页内容特效和实现用户交互.#### ②DOM对 ...
- Python报错 ImportError: DLL load failed while importing win32api: %1 不是有效的 Win32 应用程序 的解决方法
今天在用jupyter notebook 的时候发生了kernel error,点开之后提示了以下报错信息 Traceback (most recent call last): File " ...
- 关于python导入数据库excel数据时出现102, b"Incorrect syntax near '.15562'.DB-Lib error message 20018, severity 1的问题总结
1.对于在使用python导入sqlsever时,出现102, b"Incorrect syntax near '.15562'.DB-Lib error message 20018, se ...
- Visual Studio 2010 ~ 2022 全系列密钥
更新记录 2022年6月10日 修改序列号顺序. Visual Studio 2022 Professional(专业版): TD244-P4NB7-YQ6XK-Y8MMM-YWV2J Enterpr ...
- 树莓派开发笔记(十七):树莓派4B+上Qt多用户连接操作Mysql数据库同步(单条数据悲观锁)
前言 安装了mysq数据库,最终时为了实现在一个树莓派上实现多用户多进程操作的同步问题,避免数据并发出现一些错误,本篇安装了远程服务并且讲述了使用Qt进行悲观锁for update操作,命令行进行 ...
- JS:函数
Function:函数 1. 定义一个函数:function functionname(argument) { 代码块 return }: 调用此函数:fn() 2.函数是定义了一种方法,只有被调用才 ...
- CLOSE_WAIT过多解决方法
背景:windows server 现象:CLOSE_WAIT过多(几百个),导致端口被占用光了,其他服务无法运行 原因:由于KeepLive在Windows操作系统下默认是7200秒,也就是2个小时 ...
- 全新升级的AOP框架Dora.Interception[4]: 基于Lambda表达式的拦截器注册方式
如果拦截器应用的目标类型是由自己定义的,Dora.Interception(github地址,觉得不错不妨给一颗星)可以在其类型或成员上标注InterceptorAttribute特性来应用对应的拦截 ...
- 一文精通HashMap灵魂七问,你学还是不学
如果让你看一篇文章,就可以精通HashMap,成为硬刚才面试官的高手,你学还是不学? 别着急,开始之前不如先尝试回来下面几个问题吧: HashMap的底层结构是什么? 什么时候HashMap中的链表会 ...
- HashMap1.8常见面试问题
1.hashmap转红黑树的时机: for (int binCount = 0; ; ++binCount) { if ((e = p.next) == null) { p.next = newNod ...