android framework开发 第一篇:准备工作

519 阅读5分钟

第一章:adb命令

1.1 adb是什么,有什么用

ADB,即 Android Debug Bridge。是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在Android SDK/platform-tools中找到 adb 工具或下载 ADB Kits

注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。

ADBAndroid 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 rootroot权限运行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

... 其他参考 Linux命令总结