当前位置:   article > 正文

Android端Adb简介和基本指令用法_安卓adb是干啥的

安卓adb是干啥的

Adb简述

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

Apk:APK是Android Package的缩写,即Android安装包,APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。把android sdk编译的工程打包成一个安装程序文件,格式为apk。

Adb主要功能

  1. 运行android设备的shell指令
  2. 管理模拟器或android设备的端口映射
  3. 安装和卸载apk程序
  4. 计算机和Android设备之间上传和下载文件

很显然:它就是一个命令行窗口,用于通过电脑与模拟器或真实设备交互。
包括

  • 电脑上运行的客户端
  • 用于开发的机器上作为后台进程运行的服务器
  • 后台进程形式运行于模拟器或设备上的守护程序。

Adb的指令及用法

1、关闭和启动adb服务

adb start-server
adb kill-server
  • 1
  • 2

2、查看设备的连接情况

adb devices
//输出
list of devices attached
emulator-5554  offline   emulator-5556  device   emulator-5558  device
  • 1
  • 2
  • 3
  • 4

3、安装和卸载APk

adb install <apk文件路径>//将指定的apk文件安装到设备上
adb uninstall <软件名>//卸载设备上的程序包,如com.tencent.mm
adb uninstall -k <软件名>//卸载程序但是保留其配置和缓存文件
com.tencent.moileqq//qq的包名
  • 1
  • 2
  • 3
  • 4

4、指定设备进行操作
当有多个设备连接时,可以用下面的命令来直接执行命令的设备

adb [-d|-e|-s<serial Number>]<command>
  • 1
  1. d:真机(多个设备中只有一个真机时适用)
  2. e:模拟器(多个设备中只有一个模拟器时适用)
  3. s:序列号
    例如:
adb  -d install  helloWorld.apk 
adb  -s emulator-5556 install helloWorld.apk

  • 1
  • 2
  • 3

5、列出设备上的程序包

adb shell pm list packages
  • 1

删除微信APP

adb uninstall com.tencent.mm
  • 1

6、上传和下载文件
adb push <本地路径> <远程路径>
例如,把pc文件或文件夹上传到设备sdcard

adb push xxx.txt /sdcard/xxx.txt  //sdcard是设备文件或目录
  • 1

2、adb pull <远程路径> <本地路径>
例如,把设备sdcard下文件或文件夹下载到pc上D盘

adb pull system/app shell D\
  • 1

演示步骤:
1.打开cmd,输入

adb shell//然后进入
cd data/app
  • 1
  • 2

2.可以看到后缀为.apk的文件
3.新打开一个cmd,输入

adb pull /data/app/com.tencent.mobileqq-1.apk D:\
  • 1

4.在D盘上可以看到后缀为.apk的文件
在这里插入图片描述

7、日志Ligcat的操作

日志Logcat的操作(熟练掌握)

adb logcat      //在命令行中显示调试信息
adb logcat  > 文件名   //将logcat信息保存在文件中
  • 1
  • 2

在这里插入图片描述
在这里插入图片描述
控制日志格式

  • 日志消息在标记和优先级之外还有很多元数据字段,这些字段可以通过修改输出格式来控制输出结果,
    -v选项加上下面列出的内容可以控制输出字段,比如
adb logcat -v thread
  • 1
  • brief — 显示优先级/标记和原始进程的PID (默认格式)
  • process — 仅显示进程PID
  • tag — 仅显示优先级/标记
  • thread — 仅显示进程:线程和优先级/标记
    raw — 显示原始的日志信息,没有其他的元数据字段
  • time — 显示日期,调用时间,优先级/标记,PID
  • long —显示所有的元数据字段并且用空行分隔消息内容

日志等级,每一条日志记录都有一个等级的
V:所有的信息都打印
D:debug调试信息
I: Information,信息
W:warning,警告,编译器认为你可能有问题;实际上可能没问题
E:error,错误
F: fatal,致命的
S:静默的,啥也不打印到日志
#通过分析,v、s没啥用,D、I、W对我们测试人员来说用处也不大,需要过滤掉

 adb logcat -v time *:W > e:\log1.txt
  • 1

8、包名的获取*******

获取包名和活动页:

adb shell dumpsys window | findstr mCurrentFocus
  • 1

在这里插入图片描述
9、其它命令

其他命令

  • android 启动SDK管理器
  • adb bugreport 查看bug报告
  • adb get-serialno 获取设备的序列号
  • adb root 获得Root权限
  • adb remount 将system分区从只读变成可读可写(需要ROOT权限)
  • android list targets 显示系统内所有的android平台
  • android list avd 显示系统中所有模拟器
  • ddms 启动ddms
  • adb reboot 重启
  • dmesg 打印出内核的调试信息


adb shell 挂载到Linux的空间 root:
将adb指令挂载到Android的底层Linux下

adb shell top: 获取linux下运行系统进程
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/657141
推荐阅读
相关标签
  

闽ICP备14008679号