记在前面
本文旨在记录自己遇到用过的adb指令,方便日后查找
adb指令(非shell命令)
安装app
卸载app
将设备文件拉取到本地
将本地文件上传到设备
1
| adb push 本地文件路径 设备文件保存路径
|
截屏
1
| adb shell screencap -p 截图文件保存设备上的路径
|
录屏
1
| adb shell screenrecord 录屏保存设备上的路径
|
输入文本内容
1
| adb shell input text '输入的内容'
|
不懂这指令什么效果
查看手机架构
查看cpu架构:
1
| adb shell getprop ro.product.cpu.abi
|
查看该手机支持的全部架构:
1
| adb shell getprop ro.product.cpu.abilist
|
查看所有进程信息
1 2
| adb shell ps adb shell ps -ef
|
可以用shell的管道特性,来查找关键词的进程:
1
| adb shell "ps |grep keyword"
|
keyword是要查找的关键词
杀死进程
1
| adb shell am force-stop 包名全称
|
查看当前运行app详细信息
1
| adb shell dumpsys activity top
|
查看指定应用详细情况
查看指定包名应用的数据库存储信息
1
| adb shell dumpsys dbinfo 包名
|
端口转发
1
| adb forward tcp:27042 tcp:27042
|
查看当前进程内存信息
1
| adb shell dumpsys meminfo 包名或者进程id
|
清空应用数据
shell命令
绝大部分shell命令可以通过adb shell + [command]做到
安装app
卸载app
启动应用
1
| am start -n 包名/包名.activity名称
|
启动服务
1
| am startservice -n 包名/包名.service名称
|
查看设备ip地址
运行java代码
运行一个dex文件
查看进程包名
通过/proc/pid目录中的cmdline可以得到指定pid进程包名:
本质是获得指定进程的cmd窗口内容
对于proc目录的详情,请参考:proc目录学习
进程查询
查看指定应用debug数据
列出文件列表
1
| ls [-a|-A……] [filename|directory]
|
-a |
显示指定目录下所有子目录与文件,包括隐藏文件 |
-A |
显示指定目录下所有子目录与文件,包括隐藏文件,但不列出“.”、“..” |
-c |
按文件的修改时间排列 |
-F |
在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道后面标记“ |
-I |
以列表格式来显示文件的详细信息 |
-L |
若指定文件为一个符号链接文件,则显示链接所指向的文件 |
-o |
与-l选项相同,只是不显示拥有者的信息 |
-r |
按字母逆序或最早优先的顺序显示输出结果 |
-R |
递归式地显示指定目录的各个子目录中的文件 |
-t |
按修改时间顺序显示输出结果 |
-u |
按文件上次存取的时间显示输出结果 |
-h |
文件大小按k、M、G为单位显示,与-l一起使用 |
备注:
.(点) 表示当前目录
..(点点) 表示上一级目录
切换文件路径
cd ~:切换到家目录
cd -:返回上一次操作目录
cd ../:返回上一级目录
注:如果单独使用cd命令,用户将返回到自己的主目录中,如果cd命令的目标路径不正确,系统会提示“没有这个文件或目录”,否则就从当前位置跳转到目标位置。目标路径名可以是绝对路径,也可以是相对路径。使用绝对路径,无论用户当前处在什么位置,只要是授权用户,就可以转移到指定目录中;使用相对路径时,cd命令以当前位置为起点,跳转到指定目录中。因此,这就需要用户事先明确自己所处的位置。
创建普通文件、更新访问文件的时间
如果文件不存在,就创建该文件
如果文件存在,就更新文件的时间
删除文件或目录
DEST表示目标文件,既可以是普通文件,也可以是目录。rm命令支持多文件/目录删除。删除操作需要具有必要的权限,通常至少要对目标文件/目录具有写入权限。
rm dir/ -r:删除一个目录,-r表示递归地删除目录
-f |
非交互模式的删除操作,忽略不存在的文件 |
-i |
交互模式的删除操作。在删除目标文件之前将给出提示,要求用户确认,回答“y”表示目标文件将被删除 |
-r |
若源文件是一个目录,rm命令将递归地删除该目录下的所有子目录和文件 |
-v |
显示详细的删除过程 |
复制文件
1
| cp [-a|-d……] [SOURSE] [DEST]
|
-a |
该选项通常在拷贝目录时使用,保留链接、文件属性,并递归地拷贝目录,其作用等于dpr选项的组合 |
-d |
拷贝时保留链接 |
-f |
非交互模式的复制操作。覆盖已经存在的目标文件而不提示 |
-i |
交互模式的复制操作,与-f选项相反。在覆盖目标文件之前将给出提示,要求用户确认,回答“y”表示目标文件将被覆盖 |
-p |
除复制源文件内容外,还将其修改时间和访问权限也同时复制 |
-r |
若源文件是一个目录,cp命令将递归地复制该目录下的所有子目录和文件 |
移动文件
1
| mv [-i|-f|-v] [SOURSE] [DEST]
|
-f |
非交互模式的移动操作。覆盖已经存在的目标文件而不提示 |
-i |
交互模式的移动操作。在覆盖目标文件之前将给出提示,要求用户确认,回答“y”表示目标文件将被覆盖 |
-v |
显示详细的移动过程 |
打印当前路径
修改文件或目录权限
1 2
| chmod [options] file chmod (u/g/o/a)+/-/=(r/w/x) filename
|
u:user
g:group
o:other
a:all
+:获取一个权限
-:除去一个权限
=:赋值一个权限
r:可读
w:可写
x:可执行
将文件的权限用3个八进制数来表示,可以更方便地修改多个权限,例如:
1 2 3 4 5
| rwx r-x r-x 111 101 101 (755)
rw- r-- r-- 110 100 100 (644)
|
chmod 644 file 将file的权限改成rw- r-- r--
chmod 755 file 将file的权限改成rwx r-x r-x
chmod 777 file 使文件获取所有权限