一、ADB简介

1. 什么是adb?

  adb(Android Debug Bridage)是Android sdk的一个工具;

  adb 是用来连接安卓手机和PC端的桥梁,要有adb作为二者之间的维系,才能让用户在电脑上对手机进行全面的操作。

  Android 的初衷是用adb这样的一个工具来协助开发人员在开发和拷贝Android 应用的过程中更好的调试apk ,因此adb具有安装和卸载apk,拷贝推送文件,查看设备硬件信息,查看应用程序占用资源,在设备执行shell命令等功能!

2.adb的组成

  客户端client:运行在你的电脑上,你可以通过adb命令来调起一个客户端。其他的安卓工具例如:ADT插件、DDMS都可以创建出一个客户端

  服务器server:运行在你电脑上的后台,负责管理client和daemon进行通信。

  守护进程 daemon:运行在模拟器或者Android 设备的后台

二、adb的安装

1.下载解压:adt-bundle-windows-x86_64-20140702(自行百度下载)

2.  配置环境变量到path

  D:\appium\adt-bundle-windows-x86_64-20140702\sdk\platform-tools;
  D:\appium\adt-bundle-windows-x86_64-20140702\sdk\tools;

验证:

三、adb命令的使用

1.adb --help 查询帮助

C:\Users\Administrator\Desktop>adb --help
Android Debug Bridge version 1.0.40
Version 4986621
Installed as D:\android-sdk-windows-appium\platform-tools\adb.exe global options:
-a listen on all network interfaces, not just localhost
-d use USB device (error if multiple devices connected)
-e use TCP/IP device (error if multiple TCP/IP devices available)
-s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
-t ID use device with given transport id
-H name of adb server host [default=localhost]
-P port of adb server [default=5037]
-L SOCKET listen on given socket for adb server [default=tcp:localhost:5037] general commands:
devices [-l] list connected devices (-l for long output)
help show this help message
version show version num
....................................................................

2.adb connect 127.0.0.1:62001(模拟器连接:adb 连接本地设备127.0.0.1,模拟器端口62001)

3.检测当前连接的设备,如果使用adb devices进行检测,发现没有任何设备信息,我们就需要检查是否有手机/模拟器连接上

详细可参考:https://www.cnblogs.com/yyoba/p/9263805.html

4. adb shell----登录设备shell (命令行的人机界面),ll ls 命令都可以使用,相当于远程进入到了linux命令环境,

5. adb pull <手机路径> <本机路径>  //从手机拉取信息放到本地电脑

C:\Users\Administrator\Desktop>adb shell 注释:进入人机界面
root@android:/ # cd /sdcard 注释:cd 进入adcard 目录
cd /sdcard
root@android:/sdcard # ll 注释:ll 展示当前目录下详细文件信息
ll
*** *** *** ***
drwxrwx--- root sdcard_r 2018-11-13 20:18 tencent
-rw-rw---- root sdcard_r 217 2018-07-06 21:18 thunder.txt 注释:准备将当前文件拉取到windows桌面test文件目录
root@android:/sdcard # exit
exit 注释:退出人机界面的命令 C:\Users\Administrator\Desktop>adb pull /sdcard/thunder.txt C:\Users\Administrator\Desktop\test
14 KB/s (217 bytes in 0.014s) 注释:adb pull linux下文件路径 windows下路径 //当前行展示下载速度和文件大小 C:\Users\Administrator\Desktop>

6.adb push <本机路径> <手机路径> 从本地推送信息到手机上去

C:\Users\Administrator\Desktop>adb push C:\Users\Administrator\Desktop\test\test_20190618142831.png /sdcard/
323 KB/s (106747 bytes in 0.322s) 注释:adb push 本地windows路径文件 linux文件保存路径,注意linux路径必须是/sdcard/否则写/sdcard则为文件并非目录 C:\Users\Administrator\Desktop>adb shell 注释:进入linux环境验证
root@android:/ # cd /sdcard/
cd /sdcard/
root@android:/sdcard # ll
ll
*** *** *** ***
drwxrwx--- root sdcard_r 2018-11-13 20:18 tencent
-rw-rw---- root sdcard_r 106747 2019-06-18 14:28 test_20190618142831.png 注释:从本地推送进来的文件在这里
-rw-rw---- root sdcard_r 217 2019-06-18 14:15 thunder.txt
root@android:/sdcard #

7. adb logcat 实时打印日志

  adb logcat > 本地路径/文件名.txt   实时打印日志重定向到本地文件

adb logcat -v time > 本地路径/文件名.txt   实时打印日志重定向到本地文件(日志加时间)

C:\Users\Administrator\Desktop>adb logcat -v time >  C:\Users\Administrator\Desktop\tsd\log02.txt
07-30 23:15:34.750 I/NOX     (   68): Starting NOX
07-30 23:15:36.630 I/Vold ( 157): Vold 2.1 (the revenge) firing up
07-30 23:15:46.770 I/SystemServer( 492): Entered the Android system server!

8.adb install xxx.apk ----windos可以直接把apk拖动到cmd窗口释放自动加载apk路径,返回success 就说明安装成功了

C:\Users\Administrator\Desktop>adb install D:\appium\apk\com.baidu.BaiduMap-1.apk
3003 KB/s (69469888 bytes in 22.589s)
pkg: /data/local/tmp/com.baidu.BaiduMap-1.apk
Success

    

9.查看本机当前运行程序的包名:adb shell dumpsys activity | find "mFocusedActivity"

C:\Users\Administrator\Desktop>adb shell dumpsys activity | find "mFocusedActivity" 注释:查看当前运行程序的包名
mFocusedActivity: ActivityRecord{4a924628 u0 com.baidu.BaiduMap/com.baidu.baidumaps.guide.TermsActivity t8}
C:\Users\Administrator\Desktop>adb shell pm list packages 注释:查看当前所有程序的包名
*** ***
package:com.baidu.BaiduMap
package:com.android.wallpapercropper
package:com.android.location.fused
*** ***
adb shell pm path com.baidu.BaiduMap 注释:查看当前包所在手机中的详细位置

10.adb uninstall 包名  注释:卸载程序,示例如下

C:\Users\Administrator\Desktop>adb uninstall com.baidu.BaiduMap   注释:卸载百度地图应用程序
Success

11.扩展:卸载或者安装的时候保留数据和缓冲文件命令如下

adb install -r D:\appium\apk\com.baidu.BaiduMap-1.apk  注释:安装百度地图保留数据和缓冲文件,重新安装apk
adb uninstall -k com.baidu.BaiduMap   注释:卸载百度地图,但是保留数据和缓冲文件

12.adb connect/disconnect  通过WiFi进行远程连接手机进行调试

参考博文:https://www.cnblogs.com/xiaozhaoboke/p/11267102.html

13.adb 杀死和重启命令

adb kill-server   //终止adb服务
adb start-server//启动adb服务,结合adb kill-server 一起使用

14.adb shell pm list packages //列出当前设备所有的包名

C:\Users\Administrator\Desktop>adb shell pm list packages//列出所有包名
package:com.android.soundrecorder
package:com.android.defcontainer
package:com.tencent.mm
package:com.android.contacts
package:com.android.phone
package:io.appium.unlock
package:com.android.proxyhandler
package:io.appium.settings
...............................................
// -f 列出所有apk路径及包名
// -s 列出系统apk路径和包名
C:\Users\Administrator\Desktop>adb shell pm list packages -s
package:com.android.soundrecorder
package:com.android.defcontainer
package:com.android.contacts
package:com.android.phone
package:com.android.proxyhandler
....................................................
// -3 列出用户apk路径和包名
C:\Users\Administrator\Desktop>adb shell pm list packages -3
package:com.tencent.mm
package:io.appium.unlock
package:io.appium.settings
package:com.baidu.BaiduMap
package:com.ss.android.article.news

15.启动app

adb shell am start -n 包名/入口列名
C:\Users\Administrator\Desktop>adb shell am start -n com.baidu.BaiduMap/com.baid
u.baidumaps.WelcomeScreen
Starting: Intent { cmp=com.baidu.BaiduMap/com.baidu.baidumaps.WelcomeScreen }

> 清除应用的数据和缓存

adb shell pm clear 包名
C:\Users\Administrator\Desktop>adb shell pm clear com.baidu.BaiduMap
Success

>坐标点击

adb shell input tap x轴坐标 y轴坐标
//需要打开
1.打开设置/关于手机或者平板电脑
2.连续点击五下版本号/提示开发者选项已经打开
3.在输入模块打开指针位置选项

例如根据坐标点击启动百度地图

16.aapt的使用

>获取apk的包名;进入aapt.exe目录>>打开cmd窗口>>输入:aapt dump badging 拖入apk 或者aapt dump badging 拖入apk | findstr package

D:\android-sdk-windows-appium\build-tools\28.0.3>aapt dump badging D:\appium\com
.baidu.BaiduMap-1.apk | findstr package
package: name='com.baidu.BaiduMap' versionCode='928' versionName='10.17.3' compi
leSdkVersion='29' compileSdkVersionCodename='10'

>获取apk的类名;进入aapt.exe目录>>打开cmd窗口>>输入:aapt dump badging 拖入apk 或者aapt dump badging 拖入apk | findstr launchable-activity

D:\android-sdk-windows-appium\build-tools\28.0.3>aapt dump badging D:\appium\com
.baidu.BaiduMap-1.apk | findstr launchable-activity
launchable-activity: name='com.baidu.baidumaps.WelcomeScreen' label='鐧惧害鍦板
浘' icon=''

17.查看安装包信息命令 adb shell dumpsys package 包名

C:\Users\Administrator\Desktop>adb shell dumpsys package com.android.browser
...............................
Packages:
Package [com.android.browser] (2e051e24):
userId=10061 gids=[3003, 1028, 1015, 1023, 1007]
pkg=Package{3fe56d36 com.android.browser}
codePath=/data/app/com.android.browser-1
resourcePath=/data/app/com.android.browser-1
legacyNativeLibraryDir=/data/app/com.android.browser-1/lib
primaryCpuAbi=armeabi-v7a
secondaryCpuAbi=null
versionCode=49202 targetSdk=25
versionName=4.9.3
splits=[base]
applicationInfo=ApplicationInfo{121cd625 com.android.browser}
flags=[ SYSTEM HAS_CODE ALLOW_CLEAR_USER_DATA UPDATED_SYSTEM_APP ALLOW_BACKUP KILL_AFTER_RESTORE LARGE_HEAP ]
..................................

未完待续。。。

总结:学习后小结,分享给需要的人,不足之处,后续补充修正!

adb 安装与使用(一)的更多相关文章

  1. android 入门-使用adb安装及卸载apk

     我想用adb 安装apk 到设备上现在出现了2个. 提示我没有找到设备    安装不用进去adb shell 这是你存放apk文件夹路径 下面安装apk到手机上(usb一定要连接成功否则读取不到手机 ...

  2. 【APP问题定位(三)】adb安装

    先来剧透一下我们需要使用的工具 bin包               一个安装目录,可以免安装直接调用adb命令 Android SDK platform tools 下面依次为大家介绍,第1个和第2 ...

  3. adb安装apk

    1.    安装配置 1.1安装包 下载adb.zip,解压至本机 1.2环境配置 将adb安装路径加入path中 2.    安装apk 使用数据线将Android手机与电脑连接,打开手机usb调试 ...

  4. adb导出安卓 把手机内存文件导入到电脑里 adb安装软件

    记得先找对路劲adb shellls 最上面的ls: ./ 打头的没有权限.而下面的这些acct sdcard等 都有权限. 然后cd sdcardls 看下目录,发现gxm文件夹在sdcard下面. ...

  5. adb安装启动Touch校正软件

    /********************************************************************************* * adb安装启动Touch校正软 ...

  6. ubuntu adb 安装

    ubuntu 下adb 安装,其实就是下载一个adb,然后给它赋予可执行权限,最后在环境变量里添加一下罢了.具体如下 1.下载adb 这个工具其实是在sdk工具包里面的platform-tools文件 ...

  7. 使用adb安装apk到手机

    [ADB]Android debug bridge.Android手机实际是基于Linux系统的.通过USB线将android手机与电脑连起来,在电脑上dos命令行中敲adb shell命令,可以登录 ...

  8. Android调试桥 adb安装详解

    Android调试桥(adb) 一.简介 Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信.adb 命令便于执行各种设备操作(例如安装和调试应用),并提供对 Uni ...

  9. adb安装apk包时提示:device unauthorized

    adb install apk时提示device unauthorized,手机上还没出现usb是否允许调试的询问弹框: 解决方法: 1.cmd输入:adb kill-server,点击回车键 2.c ...

  10. adb 安装失败

    打开Terminal终端:Ctrl + Alt + T 按顺序执行以下三条命令:                   sudo add-apt-repository ppa:nilarrimogard ...

随机推荐

  1. PC+PLC通过Modbus协议构建工控系统

    一. 概述 工业设备采用HMI+PLC控制是比较常见的方案,随着工业自动化的要求越来越高,现在很多设备都要求接入企业MES系统,MES系统一般为WEB系统,接口形式大部分为HTTP协议,这种传统方案和 ...

  2. Pycharm 使用问题一览

    1. I'm not sure if it is the problem of Pycharm or any other IDE. 需要从本地文件中导入文件,但总是出现波浪线,按ctril点进去发现是 ...

  3. python学习笔记(十二)-网络编程

    本文结束使用 Requests 发送网络请求.requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到.可以说,Requests 完全满足如今网络的需求. ...

  4. HTML 网页开发、CSS 基础语法——十二.CSS选择器

    选择器 基础选择器:标签选择器,id选择器,类选择器,通配符选择器 高级选择器:后代选择器,交集选择器,并集选择器 1. 标签选择器: • 优点:可以选中所有的同名标签,设置所有同名标签的公共样式. ...

  5. AT2305-[AGC010D]Decrementing【博弈论】

    正题 题目链接:https://www.luogu.com.cn/problem/AT2305 题目大意 \(n\)个数字两个人进行博弈,每个人的操作为 选择一个大于1的数字减一 之后所有数字除以所有 ...

  6. P4323-[JSOI2016]独特的树叶【换根dp,树哈希】

    正题 题目链接:https://www.luogu.com.cn/problem/P4323 题目大意 给出\(n\)个点的树和加上一个点之后的树(编号打乱). 求多出来的是哪个点(如果有多少个就输出 ...

  7. Windows下CMake编译安装OpenCV

    Windows下CMake编译安装OpenCV 这是一个面向新手的在windows上运进opencv, helloword的教程. 在这里我们使用vs2019来编译opencv, 并运行一个hello ...

  8. ASP.NET Core 中间件的使用(三):全局异常处理机制

    前言 我们经常听到"秒修复秒上线",觉得很厉害的样子. 其实不然,这只是一个调侃而已,出现问题的方式很多(逻辑漏洞.代码异常.操作方式不正确等). 我们今天来说代码异常问题怎么快速 ...

  9. node-pre-gyp以及node-gyp的源码简单解析(以安装sqlite3为例)

    title: node-pre-gyp以及node-gyp的源码简单解析(以安装sqlite3为例) date: 2020-11-27 tags: node native sqlite3 前言 简单来 ...

  10. 如何做好 NodeJS 框架选型?

    作为一个有一定工作经验的工程师,工作中经常会遇到技术选型的问题.比如当我们在工作中需要使用到 NodeJS 时,第一个要解决的问题就是如何选择一个合适的框架. 不同的框架有不同的特点,如果我们仅仅从框 ...