一、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. phpQuery

    以下资料均来自官方文档,官方文档地址:https://code.google.com/archive/p/phpquery/wikis 基础 示例 phpQuery::newDocumentFileX ...

  2. 『Python』面向对象(二)

    继承 继承的语法 class Animal(object): def __init__(self,name): self.__name = name class Dog(Animal): kind = ...

  3. P7405-[JOI 2021 Final]雪玉【二分】

    正题 题目链接:https://www.luogu.com.cn/problem/P7405 题目大意 \(n\)个点在坐标轴上,\(q\)次每次所有点向一个方向移动若干步,每个点的权值是它第一次覆盖 ...

  4. P6134-[JSOI2015]最小表示【bitset,拓扑排序】

    正题 题目链接:https://www.luogu.com.cn/problem/P6134 题目大意 给出一张\(n\)个点\(m\)条边的\(DAG\).求联通情况不变的情况下最多删除几条边. \ ...

  5. 一个故事看懂CPU的TLB

    Hi,我是CPU一号车间的阿Q,还记得我吗,真是好久不见了- 我所在的CPU是一个八核CPU,就有八个工作车间,那运行起来速度杠杆的- 虚拟地址翻译 一大早,我们一号车间MMU(内存管理单元)部门的小 ...

  6. C++中string和char字符串的异同与使用方法

    C++中string和char声明字符串的异同和使用 string类 必须在头文件中包含<string> 隐藏了字符串的数组性质,可以像处理普通变量那样处理字符串 string类位于名称空 ...

  7. uniapp小程序迁移到TS

    uniapp小程序迁移到TS 我一直在做的小程序就是 山科小站 也已经做了两年了,目前是用uniapp构建的,在这期间也重构好几次了,这次在鹅厂实习感觉受益良多,这又得来一次很大的重构,虽然小程序功能 ...

  8. Midway Serverless 发布 2.0,一体化让前端研发再次提效

    作者 | 张挺 来源 | Serverless 公众号 自去年 Midway Serverless 1.0 发布之后,许多业务开始尝试其中,并利用 Serverless 容器的弹性能力,减少了大量研发 ...

  9. 【nvidia jetson xavier】 Deepstream Yolov3示例模型运行

    作者声明 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 原文链接:https://www.cnblogs.com/phoenixash/p/15 ...

  10. Visual Studio Docker调试端口设置

    一.前言 在Visual Studio 调试程序时,Docker中的容器端口和主机端口映射随机生成,导致每次调试都需要修改前端API接口的地址 二.解决方案 1.修改Docker调试启动参数,找到启动 ...