ADB命令使用大法
前言
Android开发调试工具ADB的使用。ADB(Android Debug Bridge)是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。
ADB主要功能有:
1、在Android设备上运行Shell(命令行)
2、管理模拟器或设备的端口映射
3、在计算机和设备之间上传/下载文件
4、将电脑上的本地APK软件安装至Android模拟器或设备上
本章只介绍一些我常用的指令,有一些指令没用过,或者本人未了解不介绍,有些指令只是说明作用,具体使用细节可以去网上查具体使用,比如adb logcat和adb shell dumpsys指令,使用细节很多,不做具体介绍,以后可能会慢慢补全。
显示设备
显示连接到当前电脑上的设备
> adb devices
List of devices attached
4b5df8f1 device
59a85475 device
多台设备
如果多台设备连接到电脑,使用-s
来选择指令执行的设置。
adb -s 4b5df8f1 install test.apk // 向id为4b5df8f1的设备安装test应用
安装包相关指令 安装程序,指令格式,adb install [option] <app_path>
adb install test.apk
adb install -r test.apk // 覆盖安装
卸载程序,指令格式,adb uninstall [options] <PACKAGE_NAME>
adb uninstall com.test.app // 卸载包名为com.test.app的程序
adb uninstall -k com.test.app // 卸载包名为com.test.app的程序,但是保留数据
列出设备中已安装的程序,adb shell pm list packages [options] <Filter_name>
查看id为4b5df8f1
设备的第三方安装程序,过滤词为baidu,示例:
> adb -s 4b5df8f1 shell pm list packages -3 baidu
package:com.baidu.lbs.waimai
package:com.baidu.netdisk
adb shell pm list packages // 列出设备中所有已安装程序
adb shell pm list packages -d // 列出设备中无用程序,目前不知道有什么用
adb shell pm list packages -e // 列出设备中可用程序
adb shell pm list packages -s // 列出系统程序
adb shell pm list packages -3 // 列出第三方程序
adb shell pm list packages -i // 列出所有程序,并显示安装来源
adb shell pm list packages -u // 列出所有程序,包括已卸载程序
查看安装程序的apk文件目录: adb shell pm path <PACKAGE>
在id为4b5df8f1
设备查看中包名为com.baidu.netdisk
程序的安装包路径位置,示例:
清空程序缓存: adb shell pm clear <PACKAGE>
示例:
> adb shell pm clear com.baidu.netdisk
Success
文件相关指令
local_path可为相对路径,可为相对路径
从设备中拷贝文件, adb pull <remote_path> <local_path>
// 将设备中/sdcard/demo.mp4拷贝到本机的e盘根目录
adb pull /sdcard/demo.mp4 e:\
本地文件拷贝至设备,adb push <local_path> <remote_patch>
// 将本地d盘的test.apk文件拷贝至设备的/sdcard目录下
adb push d:\test.apk /sdcard
进入设备系统,adb shell
,Android设备底层是Linux内核,好多指令是和Linux种指令相同,下面列出一些。使用adb shell
指令进入设备系统之后,可使用以下指令。
ls // 列出当前目录下面的文件
ls -a // 列出当前目录下的所有文件,包括隐藏文件
ls -l // 列出文件,包括文件的读写权限和组关系
cd <文件夹名称> // 进入某个文件夹
rm <文件名> // 删除某个文件
rm -f <文件名> // 强制删除某个文件
rm -r <文件夹> // 删除某个非空文件夹
rm -d <文件夹> // 删除文件夹,包括空文件夹,等同于rmdir指令
mkdir <文件名/文件夹名> // 创建文件或者文件夹
mkdir -m 777 <文件名/文件夹名> // 创建相应权限的文件夹,777是一种权限的代称
mkdir -p <文件名/文件夹名> // 如果不存在该文件或者文件夹,就创建
touch <文件名> // 新建文件
pwd // 打印当前目录
cp [options] <source_path> <dest_path> // 拷贝文件或者文件夹
move [options] <source_path> <dest_path> // 移动文件或者重命名文件
日志指令
输出日志,adb logcat [option] [filter-specs]
,具体使用可以查看这里,点这里,个人常用的指令格式。
// 以单个关键字过滤日志,日志显示时间戳
adb logcat -v time | grep 关键字
adb logcat -v time | grep "关键字"
// 以多个关键字过滤日志,日志显示时间戳
adb logcat -v time | grep "关键字一\|关键字二"
输出手机信息:
adb shell dumpsys [options],
// 查看电池使用情况
adb shell dumpsys battery
还有更多使用方法,官方文档,例如利用它去查看内存使用情况,
adb shell dumpstate
查看各类信息,比如进程信息,内存信息,进程是否异常,kernnel的log等,有些手机不适用,提示说没有找到sh脚本,OAO,嗯,系统定制化的结果。查看当前Activity:
// linux
adb shell dumpsys activity | grep "mFocusedActivity"
//windows
adb shell dumpsys activity | findstr "mFocusedActivity
截屏,截取当前手机屏幕,adb shell screencap <filename>
,然后可以再利用adb pull
指令将图片拷贝到本地
// 截取当前屏幕,图片保存到/sdcard目录下,名称为screen.png
adb shell screencap /sdcard/screen.png
录制视频,录制屏幕操作视频,adb shell screenrecord [options] <filename>
,按ctrl+c停止录制,该指令仅适用于4.4版本以及以上的系统。
// 录取屏幕操作视频,保存到/sdcard目录下,名称为demo.mp4
adb shell screenrecord /sdcard/demo.mp4
// 录取视频,并设置录取视频的长宽
adb shell screenrecord --size <WIDTHxHEIGHT> <filename>
// 录取视频,设置最长录取时间
adb shell screenrecord --time-limit <TIME> <filename>
// 录取视频,角度旋转90度
adb shell screenrecord --rotate <filename>
ADB命令使用大法的更多相关文章
- 常用adb命令总结
前言 很早就想整理一下自己平时常用的一些adb命令,不仅为了便于以后查找,而且整理的过程自己又重新复习了一遍,但是当我开始在度娘一搜的时候,发现很多人已经写的非常详细了,尤其是当我发现了这篇adb概括 ...
- Android之什么是Activity和常用的ADB命令以及Android项目结构的认识
总结一下之前学习Android的一些内容 一: Android常用的ADB命令(adb android调试桥) 1.adb devices 查看模拟器设备并重新连接. 2.adb ki ...
- 分享一个常用Adb命令
分享一个常用Adb命令 首先 首先感谢@xuxu的常用adb命令,收益良多,但是已经不能满足于我,所以补充了下. 再者 好久没发帖了,最近论坛老司机们都在讨论/总结,我就用这个干货回报吧. 最后 基于 ...
- Android ADB命令大全
通过ADB命令查看wifi密码.MAC地址.设备信息.操作文件.查看文件.日志信息.卸载.启动和安装APK等 ADB很强大,记住一些ADB命令有助于提高工作效率. 获取序列号: adb get-s ...
- Android的常用adb命令
第一部分:1. ubuntu下配置环境anroid变量:在终端执行 sudo gedit /etc/profile 打开文本编辑器,在最后追加#setandroid environment2. 运行E ...
- ADB命令详解
一.adb介绍 ADB的全称为Android Debug Bridge,字面意思就是安卓调试桥接,简单点说,它是Android系统提供的一套工具,通过它,我们可以在电脑上建立一个连接到手机的通道,然后 ...
- adb 命令
adb命令 su 获取权限 ls 显示目录下的文件 cd / 跳转路径 pm 直接执行设备命令 exit 退出 adb devices 查看设备 adb shell 登录设备shell adb 用桥接 ...
- 在Mac上配置adb命令
在Mac上配置adb命令 在Mac OS中使用adb命令时,应进行变量配置,步骤如下: 一.终端中输入 cd ~ 二.输入touch .bash_profile 回车 touch:如果没有,则创建文件 ...
- python学习之——调用adb命令完成移动端界面测试
实现原理 Hierarchy Viewer:获得当前手机实时的UI信息,方便用于手机的自动化测试: python中的subprocess.Popen():调用系统命令: uiautomator工具:获 ...
随机推荐
- 如何在Jenkins中使用日期参数(变量)
一.首先需要安装插件:Date Parameter Plugin 二.安装完成后,在项目中添加参数,我这里只有日期,时间的话没试过,应该也可以把 三.用${date}调用参数即可 最后邮件的附件正常~
- js插件---webuploader 使用(lavarel中使用)
js插件---webuploader 使用(lavarel中使用) 一.总结 一句话总结: 多去看几个具体使用的实例,很多blog教程都有坑,多看几个交叉印证可以没那么多坑 1.webuploader ...
- 【python】requests 异常处理
以下是request.exceptions下的各种异常错误: RequestException: HTTPError(RequestException) UnrewindableBodyError(R ...
- django-用户中心订单页面
提交订单页面place_order.html,创建订单成功后跳转到用户订单页面 {% block bottomfiles %} <script type="text/javascrip ...
- django-全文解锁和搜索引擎
安装和配置 全文检索安装 pip install django-haystack==2.5.1 # 2.7.0只支持django1.11以上版本 搜索引擎安装 pip install whoosh 安 ...
- globing通配符
匹配标点符号 linux中只要不含有/的文件就可以生成,所以标点符号也是符合要求的 匹配空白 使用\对空白进行转义,这样就可以生成包含空格名称的文件 但是不推荐这样用,容易让别人在使用的时候造成误解 ...
- 数据结构实验之排序四:寻找大富翁(SDUT 3401)
#include <stdio.h> #include <stdlib.h> #include <string.h> void Swap(int a[], int ...
- 你对SQA的职责和工作活动(如软件度量)的理解?
SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项及时提出建议和改进方案,必要时可以向高层经理汇报以求问题的解 ...
- mysql 升序降序
默认不指定,order by 按照升序排列. asc:升序 desc:降序
- nRF51822 主从断开连接Reason,HCI ERROR CODE :0x003E
最近在给一个客户调主从一体的模块,基于S130,距离稍微远一点就会出现连接上后立马又断开连接的现象, 追踪了一下原因,给出的 HCI Error code 是 0x003E,暂且不知道这是什么鬼,查了 ...