‘壹’ 超实用的adb与adb shell常用命令汇总
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
打印mpsys,mpstate,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 mpsys 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
‘贰’ 如何在android程序中执行adb shell命令
步骤1:安装USB驱动下载并安装HTC完整驱动程序(http://shuajidown3.lexun.cn/articile/2013/7/3/HTCDriver3.0.0.021.exe)手机进入设置-应用程序-开发-USB调试,将第一个选项打钩选中。然后通过USB线连接电脑,提示安装驱动。步骤2:软件准备1、把ADB工具http://shuajidown3.lexun.cn/articile/2013/7/3/adb工具.rar
解压放到你的电脑系统盘的根目录下
现在就可以进行命令的操作了。
【常用adb shell命令】
1. 显示系统中全部Android平台:android list targets
2. 显示系统中全部AVD(模拟器):android list avd
3. 创建AVD(模拟器):android create avd --name 名称 --target 平台编号
4. 启动模拟器:emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
5. 删除AVD(模拟器):android delete avd --name 名称
6. 创建SDCard:mksdcard 1024M ~/名称.img
7. AVD(模拟器)所在位置:Linux(~/.android/avd) Windows(C:Documents and SettingsAdministrator.androidavd)
8. 启动DDMS:ddms
9. 显示当前运行的全部模拟器:adb devices
10. 对某一模拟器执行命令:abd -s 模拟器编号 命令
11. 安装应用程序:adb install -r 应用程序.apk
12. 获取模拟器中的文件:adb pull <remote> <local>
13. 向模拟器中写文件:adb push <local> <remote>
14. 进入模拟器的shell模式:adb shell
15. 启动SDK,文档,实例下载管理器:android
16. 卸载apk包:adb shellcd data/apprm apk包exitadb uninstall apk包的主包名adb install -r apk包
17. 查看adb命令帮助信息:adb help
18. 在命令行中查看LOG信息:adb logcat -s 标签名
19. adb shell后面跟的命令主要来自:源码systemcore oolbox目录和源码frameworksasecmds目录。
20. 删除系统应用:adb remount (重新挂载系统分区,使系统分区重新可写)。adb shellcd system/apprm *.apk
21. 获取管理员权限:adb root
22. 启动Activity:adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
23、发布端口:你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:adb forward tcp:5555 tcp:8000
24、复制文件:你可向一个设备或从一个设备中复制文件,复制一个文件或目录到设备或模拟器上:adb push <source> <destination></destination></source>如:adb push test.txt /tmp/test.txt从设备或模拟器上复制一个文件或目录:adb pull <source> <destination></destination></source>如:adb pull /addroid/lib/libwebcore.so
25、搜索模拟器/设备的实例:取得当前运行的模拟器/设备的实例的列表及每个实例的状态:adb devices
26、查看bug报告:adb bugreport
27、记录无线通讯日志:一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:adb shelllogcat -b radio
28、获取设备的ID和序列号:adb get-proctadb get-serialno
29、访问数据库SQLite3adb shellsqlite3#cd system/sd/data //进入系统内指定文件夹#ls //列表显示当前文件夹内容#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件#rm xxx //删除文件xxx #rmdir xxx //删除xxx的文件夹
‘叁’ android apk 怎么执行adb shell命令
Android中执行adb shell命令的方式如下:
/**
* 执行一个shell命令,并返回字符串值
*
* @param cmd
* 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"})
* @param workdirectory
* 命令执行路径(例如:"system/bin/")
* @return 执行结果组成的字符串
* @throws IOException
*/
public static synchronized String run(String[] cmd, String workdirectory)
throws IOException {
StringBuffer result = new StringBuffer();
try {
// 创建操作系统进程(也可以由Runtime.exec()启动)
// Runtime runtime = Runtime.getRuntime();
// Process proc = runtime.exec(cmd);
// InputStream inputstream = proc.getInputStream();
ProcessBuilder builder = new ProcessBuilder(cmd);
InputStream in = null;
// 设置一个路径(绝对路径了就不一定需要)
if (workdirectory != null) {
// 设置工作目录(同上)
builder.directory(new File(workdirectory));
// 合并标准错误和标准输出
builder.redirectErrorStream(true);
// 启动一个新进程
Process process = builder.start();
// 读取进程标准输出流
in = process.getInputStream();
byte[] re = new byte[1024];
while (in.read(re) != -1) {
result = result.append(new String(re));
}
}
// 关闭输入流
if (in != null) {
in.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return result.toString();
}
android系统底层采用的是linux,所以adb这样的linux指令是可以在java代码中调用的,可以使用ProcessBuilder 这个方法来执行对应的指令。还可以通过如下方式执行:
Process p = Runtime.getRuntime().exec("ls");
String data = null;
BufferedReader ie = new BufferedReader(new InputStreamReader(p.getErrorStream()));
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String error = null;
while ((error = ie.readLine()) != null
&& !error.equals("null")) {
data += error + "\n";
}
String line = null;
while ((line = in.readLine()) != null
&& !line.equals("null")) {
data += line + "\n";
}
Log.v("ls", data);
‘肆’ 干货|做App测试,那些必知必会的Adb常用命令
> 本文节选自霍格沃兹测试学院内部教材
为了让大家更好的学习Adb常用命令,我们先从安装Android环境搭建开始讲解哦。
安装jdk
### **
**
**
**
### 因为 Android SDK 是依赖于 java 环境的,所以需要先把 java 的环境搭建好。Java
环境可以参考搭建帖子:https://ceshiren.com/t/topic/4001
安装Android SDK
###
###
### adb 包含在 Android SDK 平台工具软件包中。具体的 Android SDK
环境搭建步骤请参考帖子:https://ceshiren.com/t/topic/4001
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 .propdevetc...
另一种方式是在设备上启动交互式 shell
*
adb [-s serial_number] shell
进入 shell 之后,再执行对应的命令。
比如我们进入设备内部,可以查看设备内部的目录结构和内容
* * * * * * * * * * *
feier@ ~ % adb shellroot@x86:/ # .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 mpsys
mpsys 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用 adb 从命令行调用
mpsys,获取在连接的设备上运行的所有系统服务的诊断输出。
比如在测试中,如果需要通过 adb 命令启动 app,则需要知道 app 的包名和入口的 Activity
名。这个时候,就可以通过下面这条命令获取到这两个信息。
这个场景,需要先把要获取信息的应用启动,让它在前台运行,然后执行命令
`adb shell mpsys activity | grep mFocusedActivity`
* * *
feier@ ~ % adb shell mpsys activity | grep mFocusedActivity mFocusedActivity: ActivityRecord{9dae968 u0 com.xueqiu.android/.common.MainActivity t139}
下方的日志中就会展示出来当前的包名和 Activity 名称。
* 包名:`com.xueqiu.android`
* Activity 名:`.common.MainActivity`
adb shell mpsys
adb 命令还支持直接获取应用的页面信息。这个页面信息包含了页面中元素的属性,可以方便做自动化测试的时候去定位元素。获取到的页面布局会输出到一个 xml
文件中。
* 当前窗口的 UI 布局简化信息:`adb shell uiautomator mp --compressed`
* *
feier@ ~ % adb shell uiautomator mp --compressedUI hierchary mped to: /sdcard/window_mp.xml
不指定输出文件路径时,mp 下来的文件默认存储路径为 `/sdcard/window_mp.xml`
可以通过 adb pull 命令把文件传输到电脑中,然后用 uiautomatorviewer 工具打开查看布局。
* 指定输出文件路径:`adb shell uiautomator mp 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
视频资料领取:https://qrcode.testing-studio.com/f?from=jianshu&url=https://ceshiren.com/t/topic/15844
点击查看更多信息
‘伍’ adb与adb shell命令使用
adb connect ip:5555
adb get-state
adb devices
adb kill-server
adb start-server
adb logcat >D:/log.log
adb pull sdcard/test.txt D:\123
adb push D:\123\test.txt sdcard
adb shell pm list package
adb shekk pm list package -s
adb shell pm list package -3
adb shell pm list package -f
adb shell pm list package -i hu
adb shell pm path com.hu.android
adb shell pm mp com.hu.android
adb install xxx.apk
adb shell pm install xxx.apk
adb uniinstall 包名
adb shell pm uninstall 包名
adb shell pm clear 包名
adb shell pm set-install-location 0/1/2
adb shell pm get-install-location
adb shell mpsys package com.hu.android
adb shell am start -n com.hu.android/.app.ui.activity.LauncherActivity
adb shell am start -s com.hu.android/.app.ui.activity.LauncherActivity
adb shell am start -w com.hu.android/.app.ui.activity.LauncherActivity
adb shell am start -a android.intent.action.VIEW -d http://.com
adb shell am start -a android.intent.action.CALL -d tel:10086
adb shell am force-stop 包名
adb shell input text 123456
adb shell input keyevent KEYCODE_HOME
adb shell input tap 500 500
adb shell input swipe 900 500 100 500
adb shell screencap -p /sdcard
adb shell setprop service.adb.tcp.port 5555
adb shell getprop service.adb.tcp.port
‘陆’ 如何启动adb shell命令
启动adb shell命令的方法:
其实我倒建议你这几个东东可以不用放在System32下面,放在一个好记的路径下面,然后在命令行里面进入这个目录运行就可以了。
如:
1. 放在E:\adb目录下;
2. 开始->运行(或者Win + R),CMD回车,进入命令行环境;
3. 输入e:回车,然后输入cd adb 回车;
4. 运行adb shell即可
或:进入命令行环境后输入 e:\adb\adb shell也可。
放在System32下面的目的只是为了让Windows系统可以自动识别为全局命令,但这一招在64位系统和一些经过优化的系统上是不可以使用的;最上面的方法反而比较简单。
用adb shell命令控制android软件的启动的方法:
需要知道要启动软件的主activity,然后adb shell am start -n 包名/.MainActivity
参考资料:
adb shell 命令详解
http://www.open-open.com/lib/view/1327557366686
‘柒’ 如何在android程序中执行adb shell命令
android中执行shell命令有两种方式:
1.直接在代码中用java提供的Runtime 这个类来执行命令,以下为完整示例代码。
public void execCommand(String command) throws IOException {
// start the ls command running
//String[] args = new String[]{"sh", "-c", command};
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(command); //这句话就是shell与高级语言间的调用
//如果有参数的话可以用另外一个被重载的exec方法
//实际上这样执行时启动了一个子进程,它没有父进程的控制台
//也就看不到输出,所以需要用输出流来得到shell执行后的输出
InputStream inputstream = proc.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
// read the ls output
String line = "";
StringBuilder sb = new StringBuilder(line);
while ((line = bufferedreader.readLine()) != null) {
//System.out.println(line);
sb.append(line);
sb.append(' ');
}
//tv.setText(sb.toString());
//使用exec执行不会等执行成功以后才返回,它会立即返回
//所以在某些情况下是很要命的(比如复制文件的时候)
//使用wairFor()可以等待命令执行完成以后才返回
try {
if (proc.waitFor() != 0) {
System.err.println("exit value = " + proc.exitValue());
}
}
catch (InterruptedException e) {
System.err.println(e);
}
}
}
2.直接安装shell模拟器,即已经开发好的android应用,启动后类似windows的dos命令行,可以直接安装使用,可执行常用的linux命令,应用在附件。
‘捌’ adb 常用命令
1、adb shell am force-stop 后跟包名,结束应用
2、adb install +包名 adb安装apk (覆盖安装是使用 -r 选项)
3、adb uninstall +包名 adb卸载apk
adb uninstall -k cnblogs.apk 卸载app但保留数据和缓存文件
4、adb reboot 重启Android设备
5、adb devices 获取连接的设备列表及设备状态
6、adb push (PC到Android设备)
例:adb push E:\0713\ellip_factroy__debug.apk storage/self/primary
7、adb pull(Android设备到PC)
例:adb pull /storage/self/primary/EL_v3.0.0.6_release.apk E:\0713
8、adb shell pm list package 列出所有的应用的包名 (-s:列出系统应用 -3:列出第三方应用 -f:列出应用包名及对应的apk名及存放位置 -i:列出应用包名及其安装来源)
9、input : 向 Android 设备发送按键
1)adb shell input keyevent + 按键事件 发送按键事件 例如:adb shell input keyevent KEYCODE_HOME 模拟按下Home键
2)3 adb shell input tap +触摸事件的位置 , 对屏幕发送一个触摸事件 例如:点击屏幕上坐标为 500 500 的位置(adb shell input tap 500 500)
3)adb shell input swipe 滑动事件 例如:从右往左滑动屏幕 (adb shell input swipe 800 600 100 600)
10、screencap 截图命令 adb shell screencap -p /sdcard/qq/1.png
11、screenrecord 录屏命令 adb shell screenrecord /sdcard/qq/1.mp4,执行命令后操作手机,ctrl + c 结束录制
12、clear 清除应用数据 adb shell pm clear com.
13、复制、删除 、查看文件、新建文件夹
adb shell进入Android Linux命令中,
复制cp: cp -f /sdcard/qq/1.png /sdcard/aa
删除文件rm:rm /sdcard/qq/1.png
删除文件夹rm -r:rm -r /sdcard/qq
查看文件cat:cat /sdcard/qq/1.txt
新建文件夹:mkdir /sdcard/cc
adb shell mkdir -m 777 /sdcard/cc 创建文件夹cc并给文件夹赋予读写执行的权限
adb shell mkdir -p/sdcard/Download/Demo/test1,如果Demo目录不存在,执行该条命令会创建Demo目录和其子目录test1
新建文件:touch /sdcard/cc/1.txt
移动文件:adb shell mv /sdcard/Download/test1.log /sdcard/Download/Demo/
重命名:adb shell mv /sdcard/Download/Demo/test1.log /sdcard/Download/Demo/test.lg
14、adb logcat > D:\log.txt 将日志打印到电脑上
15、获取手机内部存储信息: adb shell df /data
获取sdcard存储信息:adb shell df /storage/sdcard
‘玖’ 如何启动adb shell命令
步骤:
打开winows菜单,输入cmd命令,点击确定,进入命令模式下。
输入命令 D:(这里输入的D表示你的sdk存放的盘下)
然后回车输入cd
然后选择你sdk路径,复制路径。
鼠标点击cmd,选择编辑,选择粘贴 将复制的路径粘贴到
然后输入命令adb start-service 打开adb。
出现如图所示,表示adb服务开启成功,就可以使用adb命令了。
‘拾’ adb shell 命令总结
方法2:停止APP进程,并且清除这个APP进程产生的所有数据,相当于reset
adb shell pm clear package
执行该命令后输出success即表示命令执行成功,app进程被杀死,且会清改宴哗楚所有数据,相当于卸载重装的效果,一般核行不建议使用。
20.如下命令设备走出IDLE状态:adb shell mpsys deviceidle disable
grep语法命令整理
其中Method表示压缩形式,有:Deflate及Stored两种,即该Zip目录采用的算法是压缩模式还是存储模式;可祥含以看出resources.arsc、*.png采用压缩模式,而其它采用压缩模式,Ratio表示压缩率,CRC-32循环冗余校验.
可以配合使用grep命令过滤,比如列出apk的包名:aapt l -a test.apk | grep 'package'