扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
adb root 获取 root 权限。
创新互联建站专注于大兴安岭网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供大兴安岭营销型网站建设,大兴安岭网站制作、大兴安岭网页设计、大兴安岭网站官网定制、小程序制作服务,打造大兴安岭网络公司原创品牌,更为您提供大兴安岭网站排名全网营销落地服务。
adb sideload
adb shell ps 打印进程状态。
adb shell top 展现上层 CPU 进程信息。
adb shell getprop 获取 Android 系统服务属性
adb shell setprop 设置服务属性。
adb shell dumpsys 获取系统数据。
adb logcat 打印日志文件
adb shell ip 主要用于显示一些数据
adb shell netstat 主要用于网络统计。
adb shell ping 没啥好说的,和 PC 的 ping 命令一样的。
adb shell netcfg 通过配置文件配置和管理网络连接。
adb shell cp 字面意思,很好理解,复制。
adb shell pwd 定位当前的操作位置
adb shell mv 移动或者更名文件
adb shell mkdir 创建一个文件夹
adb shell rm 删除文件或者目录
adb shell ls 列出目录内容。
adb shell pm clear 清除应用缓存。
adb shell pm path 打印 apk 的路径。
adb usb 设置设备以 USB 形式连接 PC
adb kill-server 终止 adb 进程。
adb forward 端口映射,将 PC 端的某端口数据重定向到手机端的一个端口。
adb devices 主要是用于打印当前连接的所有模拟器或者设备。
shutdown -h now 关闭系统
init 0 关闭系统
telinit 0 关闭系统
shutdown -h hours:minutes 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启
reboot 重启
logout 注销
文件和目录
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构
lstree 显示文件和目录由根目录开始的树形结构
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
cp -r dir1 dir2 复制一个目录及子目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
本文节选自霍格沃兹测试学院内部教材
为了让大家更好的学习Adb常用命令,我们先从安装Android环境搭建开始讲解哦。
安装jdk
### **
**
**
**
### 因为 Android SDK 是依赖于 java 环境的,所以需要先把 java 的环境搭建好。Java
环境可以参考搭建帖子:
安装Android SDK
###
###
### adb 包含在 Android SDK 平台工具软件包中。具体的 Android SDK
环境搭建步骤请参考帖子:
adb简介
adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android
模拟器或真机的工具。
adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作,例如安装和调试应用。
adb组成
采用了客户端-服务器(C/S)模型,包括三个部分:
* adb client
* adb server
* adb daemon
ADB client:运行在电脑上,可以在命令行中运行 adb 命令来调用该客户端。Client 本质上就是 Shell,用来发送命令给
Server。发送命令时,首先检测 PC 上有没有启动 Server,如果没有 Server,则会自动启动一个,然后将命令发送到 Server。
ADB server:是运行在电脑上的后台进程,用于管理客户端与运行在模拟器或真机的守护进程通信。
ADB Daemon:守护进程作为一个后台进程在 Android 设备或模拟器系统中运行。它的作用是连接 adb 服务端,并且为运行在主机上的 adb
客户端提供一些服务。
adb工作原理
当 adb 客户端启动时,客户端会先检查 adb 服务端是否启动。如果没有,会先启动服务端进程。adb 服务端在启动后,会与 5037 端口绑定,并监听
adb 客户端发出的命令。
然后,服务端会与所有正在运行的 Android 设备建立连接。它通过扫描 5555 到 5585 之间的奇数号端口查找 Android 设备。服务端一旦发现
Android 设备上的 adb 守护进程在运行,便会与相应的端口建立连接。每个 Android 设备都使用一对端口,偶数端口用于控制台连接,奇数端口用于
adb 连接。
例如:服务端与所有 Android 设备建立连接后,就可以使用 adb 命令来访问这些设备了。服务端会管理已经建立的连接,并处理来自 adb 客户端的命令。
启动adb调试
### Android 真机可以通过 USB 连接到 adb,连接时需要在设备的系统设置中启用 USB 调试(位于开发者选项下),启动 USB
调试后,设备上的 adb 守护进程就会被启动,adb 服务端才可以和设备建立连接。除了用 USB 的方式连接之外,也可以通过 WLAN
的方式连接,这种方式不做赘述。
1. 模拟器:不需要手动设置 USB 调试开关,默认是打开的
2. 真机通过 USB 连接
* 安装 Android 手机驱动
* 设备启用 USB 调试
adb命令格式
*
adb [-d|-e|-s serialNumber] command
* -d:指定当前唯一通过 USB 连接的 Android 设备为命令目标
* -e:指定当前唯一运行的模拟器为命令目标
* -s:指定相应 serialNumber 号的设备/模拟器为命令目标
方括号中的内容是可选的,尖括号内容的是必填的。方括号中参数可以指定设备,关于设备的指定有三个参数可以使用。-d、-e 和 -s,其中使用最多的是 -s
参数,在连接多台设备的时候,一般都是使用 -s 加上设备的序列号这种方式去指定具体设备。
adb 可以同时连接多台设备,但是一次只能对一台设备执行命令。所有连接多台设备的时候,是必须要制定设备,命令才可以执行成功的。
查询设备
把 Android 设备连接到 adb 服务端后,需要确认设备的连接状态。这时可以使用查询命令进行查询。
**连接模拟器** (以 mumu 模拟器为例)
* *
adb connect 127.0.0.1:7555adb devices
* `adb connect` 命令可以通过 WLAN 的方式连接到模拟器,7555 为 mumu 模拟器的端口
* `adb devices` 可以查询设备连接的状态
Windows 系统中,连接模拟器需要先执行 connect 命令去连接模拟器,127.0.0.1 是本地的 IP
地址,因为模拟器就是安装在本地的,所以要使用本地的 IP 地址,加上模拟器本身规定的一个端口号。mumu 的端口号是
7555,如果使用的是其他的模拟器的话,需要先去了解它的端口号是什么,然后再去连接。MacOS 系统中连接模拟器不需要先执行 connect 命令,直接执行
`adb devices` 命令即可。
**连接真机**
**
**
真机直接用 USB 连接到电脑,不需要执行 connect 命令。
直接用 `adb devices`命令查看已经连接的设备列表即可。
feier@ ~ % adb devices
List of devices attached
emulator-5554 device
直接命令后,如果设备已经成功连接,那么设备列表中就会展示已连接设备的信息。以图中的信息为例:
* emualotr-5554:设备序列号
* device:设备连接状态为成功
安装卸载应用
测试过程中,如果需要安装或者卸载应用,可以直接用 adb 命令来操作。
* 普通安装:`adb install apk路径`
* 覆盖安装:`adb install -r apk路径`
* 完全卸载:`adb uninstall 包名`
* 保留配置文件:`adb uninstall -k 包名 `
设备与电脑传输文件
adb 命令支持电脑和 Android 设备之间的文件互传。比如我们需要提取 Android 设备中的日志文件到本地,就可以通过 adb 命令的方式来完成。
* 从电脑上传文件至设备:`adb push 电脑路径 设备路径`
* 从设备复制文件至电脑:`adb pull 设备路径 电脑路径`
日志
打印链接设备的 log 信息
* 屏幕输出日志:`adb logcat`
* 通过标签过滤:`adb logcat -s 标签`
* 显示时间:`adb logcat -v time`
* 输出所有信息:`adb logcat -v long`
* 输出日志到文件:`adb logcat -v time log.txt`
* 清除旧日志信息:`adb logcat -c`
adb shell命令
使用 adb shell 命令相当于远程登录了 Android 系统,可以进入 Android 设备的系统内部。进入系统内部既可以执行一些简单的 Linux
命令也支持很多特有的命令。
使用 adb shell 命令有两种方式。
一种是直接在 adb shell 后面跟上命令。
*
adb [-s serial_number] shell command
比如:
* * * * * * * * * * *
feier@ ~ % adb shell lsacctcachechargerconfigddatadefault.propdevetc...
另一种方式是在设备上启动交互式 shell
*
adb [-s serial_number] shell
进入 shell 之后,再执行对应的命令。
比如我们进入设备内部,可以查看设备内部的目录结构和内容
* * * * * * * * * * *
feier@ ~ % adb shellroot@x86:/ # lsacctcachechargerconfigddatadefault.propdev...
要退出交互式 shell,可以按 Ctrl + D 键或输入 exit。
**Android常用测试命令**
下面整理出了Android常用的一些测试命令及用法。
设备截图/录屏
在测试过程中,如果需要截图或者是录屏,也可以直接使用 adb 命令来完成。
* 截图:`adb shell screencap 设备路径`
* 录屏:`adb shell screenrecord 设备路径`
调用Activity管理器
在 adb shell 中,可以使用 Activity 管理器 (am) 工具发出命令以执行各种系统操作,如启动
Activity、强行停止进程、修改设备屏幕属性,等等。
在测试过程中,如果需要启动 app 或者强制关闭 app,可以通过 adb 命令来实现。
* 启动应用:`adb shell am start -n 包名/Activity名`
* 强制停止应用:`adb shell am force-stop 包名`
调用软件包管理器
在 adb shell 中,可以使用软件包管理器 (pm) 工具发出命令,以对设备上安装的应用软件包执行操作和查询。
如果需要查询设备里都安装了什么应用,就可以使用 adb shell pm list 来查看,还可以加上不同的参数去查看不同类型的应用。而且也可以通过 adb
命令来清除应用相关的数据。
* 显示设备中安装的所有应用:`adb shell pm list packages`
* 只显示系统应用:`adb shell pm list packages -s`
* 只显示第三方应用:`adb shell pm list packages -3`
* 删除与软件包关联的所有数据:`adb shell pm clear 包名`
adb shell dumpsys
dumpsys 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用 adb 从命令行调用
dumpsys,获取在连接的设备上运行的所有系统服务的诊断输出。
比如在测试中,如果需要通过 adb 命令启动 app,则需要知道 app 的包名和入口的 Activity
名。这个时候,就可以通过下面这条命令获取到这两个信息。
这个场景,需要先把要获取信息的应用启动,让它在前台运行,然后执行命令
`adb shell dumpsys activity | grep mFocusedActivity`
* * *
feier@ ~ % adb shell dumpsys activity | grep mFocusedActivity mFocusedActivity: ActivityRecord{9dae968 u0 com.xueqiu.android/.common.MainActivity t139}
下方的日志中就会展示出来当前的包名和 Activity 名称。
* 包名:`com.xueqiu.android`
* Activity 名:`.common.MainActivity`
adb shell dumpsys
adb 命令还支持直接获取应用的页面信息。这个页面信息包含了页面中元素的属性,可以方便做自动化测试的时候去定位元素。获取到的页面布局会输出到一个 xml
文件中。
* 当前窗口的 UI 布局简化信息:`adb shell uiautomator dump --compressed`
* *
feier@ ~ % adb shell uiautomator dump --compressedUI hierchary dumped to: /sdcard/window_dump.xml
不指定输出文件路径时,dump 下来的文件默认存储路径为 `/sdcard/window_dump.xml`
可以通过 adb pull 命令把文件传输到电脑中,然后用 uiautomatorviewer 工具打开查看布局。
* 指定输出文件路径:`adb shell uiautomator dump file 设备路径`
adb常用命令就先讲到这里啦,下期我们分享App常见bug解析。大家还想看什么内容的文章也可以留言告诉我们哦!
** _
来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
QQ交流群:484590337
公众号 TestingStudio
视频资料领取:;url=
点击查看更多信息
现象是输入adb命令之后,终端无响应,既没有提示成功也没有提示失败。
运行 ps aux | grep adb,如果有输出 adb fork-server server,则说明adb正在运行,记下pid,执行kill $(pid)。
adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android 模拟器或真机的工具。
adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作,例如安装和调试应用。
采用了客户端-服务器(C/S)模型,包括三个部分:
当 adb 客户端启动时,客户端会先检查 adb 服务端是否启动。如果没有,会先启动服务端进程。adb 服务端在启动后,会与 5037 端口绑定,并监听 adb 客户端发出的命令。
然后服务端会与所有正在运行的 Android 设备建立连接。它通过扫描 5555 到 5585 之间的奇数号端口查找 Android 设备。服务端一旦发现 Android 设备上的 adb 守护进程在运行,便会与相应的端口建立连接。每个 Android 设备都使用一对端口,偶数端口用于控制台连接,奇数端口用于 adb 连接。
服务端与所有 Android 设备建立连接后,就可以使用 adb 命令来访问这些设备了。服务端会管理已经建立的连接,并处理来自 adb 客户端的命令。
Android 真机可以通过 USB 连接到 adb,连接时需要在设备的系统设置中启用 USB 调试(位于开发者选项下),启动 USB 调试后,设备上的 adb 守护进程就会被启动,adb 服务端才可以和设备建立连接。除了用 USB 的方式连接之外,也可以通过 WLAN 的方式连接,这种方式不做赘述。
方括号中的内容是可选的,尖括号内容的是必填的。方括号中参数可以指定设备,关于设备的指定有三个参数可以使用。-d、-e 和 -s,其中使用最多的是 -s 参数,在连接多台设备的时候,一般都是使用 -s 加上设备的序列号这种方式去指定具体设备。
adb 可以同时连接多台设备,但是一次只能对一台设备执行命令。所有连接多台设备的时候,是必须要制定设备,命令才可以执行成功的。
把 Android 设备连接到 adb 服务端后,需要确认设备的连接状态。这时可以使用查询命令进行查询。
Windows 系统中,连接模拟器需要先执行 connect 命令去连接模拟器,127.0.0.1 是本地的 IP 地址,因为模拟器就是安装在本地的,所以要使用本地的 IP 地址,加上模拟器本身规定的一个端口号。mumu 的端口号是 7555,如果使用的是其他的模拟器的话,需要先去了解它的端口号是什么,然后再去连接。MacOS 系统中连接模拟器不需要先执行 connect 命令,直接执行 adb kill-server adb devices 命令即可。
真机直接用 USB 连接到电脑,不需要执行 connect 命令。
直接用 adb devices 命令查看已经连接的设备列表即可。
直接命令后,如果设备已经成功连接,那么设备列表中就会展示已连接设备的信息。
测试过程中,如果需要安装或者卸载应用,可以直接用 adb 命令来操作。
adb 命令支持电脑和 Android 设备之间的文件互传。比如要提取 Android 设备中的日志文件到本地,就可以通过 adb 命令的方式来完成。
打印链接设备的 log 信息
使用 adb shell 命令相当于远程登录了 Android 系统,可以进入 Android 设备的系统内部。进入系统内部既可以执行一些简单的 Linux 命令也支持很多特有的命令。
使用 adb shell 命令有两种方式。
一种是直接在 adb shell 后面跟上命令。
比如:
另一种方式是在设备上启动交互式 shell
进入 shell 之后,再执行对应的命令。
比如进入设备内部,可以查看设备内部的目录结构和内容
要退出交互式 shell,可以按 Ctrl + D 键或输入 exit。
在测试过程中,如果需要截图或者是录屏,也可以直接使用 adb 命令来完成。
在 adb shell 中,可以使用 Activity 管理器 (am) 工具发出命令以执行各种系统操作,如启动 Activity、强行停止进程、修改设备屏幕属性,等等。
在测试过程中,如果需要启动 app 或者强制关闭 app,可以通过 adb 命令来实现。
在 adb shell 中,可以使用软件包管理器 (pm) 工具发出命令,以对设备上安装的应用软件包执行操作和查询。
如果需要查询设备里都安装了什么应用,就可以使用 adb shell pm list 来查看,还可以加上不同的参数去查看不同类型的应用。而且也可以通过 adb 命令来清除应用相关的数据。
dumpsys 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用 adb 从命令行调用 dumpsys,获取在连接的设备上运行的所有系统服务的诊断输出。
比如在测试中,如果需要通过 adb 命令启动 app,则需要知道 app 的包名和入口的 Activity 名。这个时候,就可以通过下面这条命令获取到这两个信息。
这个场景,需要先把要获取信息的应用启动,让它在前台运行,然后执行命令
adb shell dumpsys activity | grep mFocusedActivity
下方的日志中就会展示出来当前的包名和 Activity 名称。
adb 命令还支持直接获取应用的页面信息。这个页面信息包含了页面中元素的属性,可以方便做自动化测试的时候去定位元素。获取到的页面布局会输出到一个 xml 文件中。
不指定输出文件路径时,dump 下来的文件默认存储路径为 /sdcard/window_dump.xml
可以通过 adb pull 命令把文件传输到电脑中,然后用 uiautomatorviewer 工具打开查看布局。
你好呀,喜欢这篇文章的话烦请点个“赞”哦!万分感谢~( ▽ ) PS:有问题可以联系我们哦~v ceshiren001
Android Debug Bridge,一般简称为adb,主要存放在sdk安装目录下的platform-tools文件夹中,它是一个非常强大的命令行工具,通过这个工具你能够与你的android设备进行交互。同时这是一个包含了以下三部分的cs模式的程序:
1) adb client
从图中,我们知道client是运行在PC端的,每当我们发起一个adb命令的时候,就会开启一个client程序。当然,当我们开启DDMS或者ADT的时候,也会自动创建client。
当我们开启一个client的时候,它首先会去检测后台是否已经有一个server程序在运行着,否则会开启一个adb-server进程。
所有的client都是通过5037端口与adb-server进行通信的。
2)adb daemon(adbd)
从图中,我们知道daemon是作为一个后台进程运行在模拟器/真实Android设备中的。
daemon使用端口的范围是5554-5585,每个模拟器/设备连接到PC端时,总会开启这么一个后台进程,并且为其分配了两个连续的端口,比如:
Emulator 1, console: 5554
Emulator 1, adb: 5555
也正因为每个设备都分一组两个端口,也已adb连接手机的最大数量为16。
说回端口的作用,在这两个端口中,其中偶数端口是用于server 与设备进行交互的,可以让server直接从设备中读取数据,而奇数端口是用来与设备的adbd进行连接通信的。
2) adb server
从图中,我们同样可以知道,server也是作为一个后台的程序运行在PC端的,他负责管理client进程以及adb daemon之间的通信。
当一个server开启的时候,他会自动绑定并且监听5037端口,接收client通过该端口发送过来的命令。同时server还会对5555-5585间的奇数端口进行扫描,进行对已连接设备的定位。
1.2 常用的adb命令
首先我们先来介绍一下,adb命令的使用格式吧:
adb [-d|-e|-s ]
adb是必须的,接下来方括号[]里面的内容不是必须的,最后才是我们需要执行的命令操作,例如 adb -s emulator-5554 install UCBrowser.apk (这是安装UC浏览器的意思)
下面先介绍下,前面几个参数的含义吧:
-d: 让唯一连接到该PC端的真实安卓设备执行命令,如果发现USB中连接有多部设备,将会报错
-e: 让唯一连接到该PC端的模拟器执行命令,如果发现开启了多个模拟器,将会报错
-s:通过设备的序列号进行指定设备执行命令
如果设备只连接有一个设备或者一个模拟器的时候,可以不用声明这三个参数,adb默认会让这部唯一连接到的设备进行命令执行。
ok,下面开始讲解常用的命令吧:
1) 查看当前PC端连接有多少设备:
adb devices
终端中的执行结果为:
从上图中,我们看到了设备有的两种状态,其实执行该命令,可能返回的状态有三种:
I. device 设备已经成功连接到了adb-server
II. offline 设备并没有连接到adb或者没有响应
III. no device 并没有设备/模拟器连接
2) 查看adb的版本
adb version
终端中的执行结果为:
3) 给设备进行软件的安装
adb -s install
eg:
adb -s 99eb07a9 install D://Test.apk
终端中的执行结果为:
除了上面这种方法,我们还有另外一个命令:
adb -s shell pm install [options]
其中[options]中最常用的选项是-r,代表着本次安装是重新安装,会保留用户数据。
4) 卸载设备中已经安装的软件
adb -s uninstall
eg:
adb -s 99eb07a9 uninstall cn.uc.test
终端中的执行结果为:
除了上面这种方法,我们还有另外一个命令:
adb -s uninstall [options]
这里的options是-k,加上该参数表明卸载软件后依旧保留用户数据
5) 将数据从设备复制到PC中
adb -s pull
eg:
adb -s 99eb07a9 pull /sdcard/stericson-ls D://
终端的执行结果:
在D://盘中我们也可以发现stericson-ls文件
6) 讲数据从PC端复制到设备中
adb -s push
eg:
adb -s 99eb07a9 push d://stericson-ls /sdcard/
终端的执行结果:
7) 获取连接到的手机的序列号
adb get-serialno
终端的执行结果:
8)获取设备的连接状态
adb -s get-state
eg:
adb -s 99eb07a9 get-stat
终端的执行结果:
9) 等待设备连接成功
adb wait-for-device
该命令将会阻塞一直到默认连接的那部机器状态变为device,也就是连接成功。
10) adb-server 的开启与关闭
adb kill-server
adb start-server
终端的执行结果:
有时候我们开启server会失败,这是因为我们装了的手机助手,豌豆荚或者其他软件自带有自己的adb,导致端口冲突开启失败。主要关掉那些软件并且杀掉那些软件自带的adb进程重来即可。
1.2 手机执行Shell命令
众所周知,Android的内核本身就是Linux,所以Android本身也支持Linux命令,但是因为是手机系统,所以进行了一定的删减,部分命令不支持,而不支持的部分,我们可以通过安装busybox这个软件进行
填补。
下面我们讲解下如何在手机中执行Shell命令:
1) 每次都加上adb shell来进行命令的发送与执行
adb shell
2) 先通过adb shell进入手机Shell执行状态,然后直接输入Linux命令,如图:
1.3 Activity Manager 常用命令与参数说明
一般情况下,我们最常用它来进行app的开启,并且传递一定的参数过去,比如:
adb shell am start -a android.intent.action.VIEW -n cn.uc.test/.MainActivity -d
在这里就不做太过详细和重复的说明了
1.4 Package Manager 常用命令与参数说明
1) 使一个apk处于禁用状态,相当于卸载了:
disable
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile
eg:
adb shell su disable com.UCMobile/.main.UCMobile
终端执行结果:
同时我们在手机上发现,UC浏览器的图标不见了
2) 让一个apk从禁用状态恢复过来
enable
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile
eg:
adb shell su enable com.UCMobile/.main.UCMobile
终端执行结果:
同时我们从手机上发现,UC浏览器的图标又回来啦。
3) 查看一个apk所在的路径
pm path
eg:
adb shell pm path com.UCMobile
终端执行结果:
4) 查看手机中装的所有的包
pm list packages
再次不做过多的说明
1.5其他常用的adb命令
1) 屏幕录像
例如,屏幕开始录像并且储存到/sdcard中,同时名字为demo.mp4
adb shell screenrecord /sdcard/demo.mp4
2) 关闭设备请求,开启设备
adb shell stop
adb shell start
3)设备关机以及重启
adb reboot
adb shutdown
adb(Android Debug Bridge),SDK自带的工具,可实现桥接功能,实现PC和android设备的交互
adb shell:基于Android linux系统操作,放在安卓设备的system/bin目录下,手机端的命令
一:adb常用命令
1. PC连接android设备
(PC与android设备连接同一个wifi,或处于同一个局域网)
连接:adb connect ip:5555
断开连接:adb disconnect ip
查看连接设备的信息:adb devices
获取设备的状态:adb get-state
2. 重启adb server
打开adb服务:adb start-service
关闭adb服务:adb kill-service
3. 安装卸载软件
安装:adb install apkpath(某个apk)
adb install -r :强制安装
卸载: adb uninstall package(可用adb shell pm list packages查看包名)
4. 打印日志
打印android系统日志:adb logcat
将日志打印并保存指定文件夹:adb logcat /Users/apple/Desktop/log.txt
终止进程:control+C
打印dumpsys,dumpstate,logcat的输出,用于分析错误:adb bugreport
5. PC与android设备上文件复制
android设备上文件复制到PC上:adb pull
PC上文件推至android设备:adb push
6.重新挂载system分区为可写,需要root权限./system分区默认挂载为只读,但有些操作比如给android系统添加命令,删除自带应用等需对系统进行写操作,得重新挂载为可写
adb shell
su
或:adb root
adb remount 重新挂载文件系统,获得可写的权限(默认情况是只有可读权限的),使用adb remount 的前提是要有root权限
7. 删除系统应用
adb root
adb remount
adb shell
cd system/app
rm *apk
二:adb shell命令
adb shell 进入系统子目录,exit 退出
1. pm命令
列出系统应用的所有包名:adb shell pm list packages 可用grep来过滤:adb shell pm list packages | grep 关键字
清除应用数据与缓存:adb shell pm clear packagename
2. am命令
启动应用:adb shell am start -n com.xxx.xxxxxxx|xxx.Activity(可通过adb shell dumpsys activity activities | grep mFocusedActivity查看
强制停止应用:adb shell am force-stop packagename
3. input命令
模拟点击事件,点击坐标点(x,y):adb shell input tap x y
模拟滑动事件,从(x1,y1)到(x2,y2):adb shell input swipe x1 y1 x2 y2
发送文本内容:adb shell input text
模拟按下home:adb shell input keyevent KRYCODE_HOME
4. screencap命令
截屏:adb shell screencap
5. 查看网络状态命令
查看当前网络状态:adb shell netstat
通过配置文件配置和管理网络连接:adb shell netcfg
查看网络信息:ifconfig
测试网络联网状态:ping
5.其它相关命令
查看当前终端中进程:adb shell ps
获取cpu信息:adb shell cat /proc/cpuinfo
查看内存信息:adb shell cat /proc/meminfo
查看屏幕分辨率:adb shell wm size
查看设备ip地址:adb shell ifconfig | grep Mask
查看实时资源占用情况:adb shell top
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流