第一章:adb命令
1.1 adb是什么,有什么用
ADB,即 Android Debug Bridge。是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell
(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在Android SDK/platform-tools
中找到 adb
工具或下载 ADB Kits 。
注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。
ADB
是 Android SDK
里的一个工具, 用这个工具可以直接操作管理Android模拟器或者真实的Android设备。
总结: 简单来说,adb就是一个调试Android设备的工具。
1.2 adb命令语法
adb 命令的基本语法如下:
adb [-d|-e|-s <serial-number>] <command>
单一设备/模拟器连接
如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s <serial-number>]
这一部分,直接使用 adb <command>
。
多个设备/模拟器连接
如果有多个设备/模拟器连接,则需要为命令指定目标设备,下表是指定目标设备的命令选项:
参数 | 含义 |
---|---|
-d | 指定当前唯一通过 USB 连接的 Android 设备为命令目标 |
-e | 指定当前唯一运行的模拟器为命令目标 |
-s <serial-number> | 指定相应设备序列号的设备/模拟器为命令目标 |
在多个设备/模拟器连接的情况下较常用的是 -s <serial-number>
参数,serial-number
是指设备的设备序列号,可以通过 adb devices
命令获取。
1.3常见adb 命令
1.3.1 设备管理
命令 | 说明 |
---|---|
adb version | 查看adb版本 |
adb start-server | 启动adb |
adb kill-server | 停止adb |
adb root | root权限运行adb |
adb -P port start-server | 指定 adb server 的网络端口 ,默认端口5037 |
adb devices | 查询已连接的设备/模拟器列表 |
adb shell pm list packages | 查看所有应用列表 ,此命令后面可加过滤参数 |
adb shell pm list packages -s | 查看系统应用列表 |
adb shell pm list packages -3 | 查看第三方应用列表 |
adb install apk文件路径 | 安装apk到设备,后面可以添加参数 |
adb uninstall [-k] package-name | <package-name> 表示应用的包名,-k 参数可选,表示卸载应用但保留数据和缓存目录。 |
adb shell pm clear | 清除应用数据与缓存 |
adb shell dumpsys activity activities | grep mFocusedActivity | 查看前台 Activity |
adb shell dumpsys activity services [package-name] | <package-name> 参数不是必须的,指定 <package-name> 表示查看与某个包名相关的 Services,不指定表示查看所有 Services。<package-name> 不一定要给出完整的包名,可以只给一部分,那么所给包名相关的 Services 都会列出来 |
adb shell dumpsys package package-name | 查看应用详细信息 |
adb shell pm path package-name | 查看应用安装路径 |
1.3.2 文件管理
命令 | 说明 |
---|---|
adb shell am start [options] intent | [options]是指定选项。 -a: 指定 action,比如 android.intent.action.VIEW ; -c:指定 category,比如 android.intent.category.APP_CONTACTS ; -n:指定完整 component 名,用于明确指定启动哪个 Activity |
adb shell am force-stop packagename | 强制停止应用 |
adb shell am send-trim-memory | 收紧内存 |
adb pull remote [local] | 从模拟器/设备下载指定的文件到计算机。- remote : 模拟器/设备里的文件路径 local :计算机上的目录,参数可以省略,默认复制到当前目录 |
adb shell ls [options] | 列出模拟器/设备上指定目录的内容,option 可选参数 |
adb shell cd directory | 切换到目标目录 |
adb shell rm [options] files or directory | 删除文件或目录 |
adb shell mkdir [options] directory-name | 创建目录 |
adb shell pwd | 输出当前目录路径 |
3... 太多了就不一一列举了,详细参考
ADB 操作命令详解及用法大全
本文参考:Android爱好者 juejin.cn/post/684490…
第二章:Linux常用命令
1、文件管理
命令 | 说明 |
---|---|
cd | 切换目录 |
ls | 查看目录 |
-l | 列出文件详细信息 或者直接ll |
-a | 列出当前目录下所有文件及目录,包括隐藏的a(all) |
mkdir | 创建目录 |
-p | 创建目录,若无父目录,则创建p(parent) |
echo | 输出信息 |
cat | 打印文件到命令行(查看文件) |
chown | 改变文件所属用户 |
chgrp | 改变文件所属组 |
wget | 下载文件 |
grep | 在文本文件中查找某个字符串 |
wc | 统计文本中行数、字数、字符数 |
more/less | 部分显示 |
find / -name 'auto.cnf' | 查找文件 |
touch | 创建空文件 |
cp | 复制文件 |
mv | 移动或重命名 |
rm | 删除文件 |
rmdir | 删除空目录 |
tree | 树形结构显示目录,需要安装tree包 |
pwd | 显示当前目录 |
ln | 创建链接文件 |
more、less | 分页显示文本文件内容 |
head、tail | 显示文件头、尾内容 |
2、vim操作
进入编辑器 vi/vim
,vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
- 进入编辑模式插入
i
- 退出编辑模式
esc
- 保存:后面输入
w
- 退出:后面输入
q
- 不保存退出:后面输入
q!
- 显示行号
set number
- 查找关键字
/xxxx
按n跳到下一个,shift+n上一个 - 复制光标所在行,并粘贴
yyp
- h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
3、打包压缩相关命令
打包压缩 tar\gzip\bzip2
-c
归档文件-x
压缩文件-z
gzip压缩文件-j
bzip2压缩文件-v
显示压缩或解压缩过程 v(view)-f
使用档名
例:
只打包,不压缩:tar -cvf /home/abc.tar /home/abc
打包,并用gzip压缩:tar -zcvf /home/abc.tar.gz /home/abc
打包,并用bzip2压缩:tar -jcvf /home/abc.tar.bz2 /home/abc
如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf
中的“c” 换成“x” 就可以了。
4、Linux管道
将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。
例:grep -r "close" /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。
5、文件权限管理
三种基本权限
R:读,数值表示为 4
W:写,数值表示为 2
X:可执行,数值表示为1