Android 安卓开发命令汇总

命令汇总

adb命令

adb命令是全局的,需要下载

命令作用
adb devices查看设备连接
adb root获取设备权限
adb remount默认情况/system部分为只读模式,该命令可以将 /system部分设置为可写

文件管理

命令作用
adb push [文件所在主机路径] [设备中文件所在路径]adb devices复制主机中的文件到设备中(覆盖设备中的文件)查看设备连接
adb push ‘/home/ts/下载/SystemUI.apk’ /system/system_ext/priv-app/SystemUI/SystemUI.apk范例
adb root获取设备权限
adb pull [apk所在设备路径] [主机中文件保存路径]adb remount从设备中复制文件保存到主机中默认情况/system部分为只读模式,该命令可以将 /system部分设置为可写
adb pull /system/build.prop ./复制文件到主机中当前目录下

重启设备

命令作用
adb reboot重启设备
adb reboot fastboot重启进入fastboot模式(线刷)
adb reboot bootloader重启进入fastboot模式(给设备解锁的时候用)
adb reboot recovery重启进入recovery模式(卡刷)

实际开发使用

命令作用
adb shell dumpsys activity activities | grep mResumedActivity查看当前页面activity
adb shell setprop debug.layout true显示布局边界修改UI

查看日志

命令作用
adb logcat打印main和system的log
adb logcat -c清空日志
adb logcat |grep “ts”通过字串筛选log
adb logcat -b system -b main > /home/ts/logfiles/v.log打印main的log

其他

命令作用
adb --version查看adb版本
adb bugreport获取bugreport,在设备上操作结束后执行该命令,文件自动保存在当前目录下

例:刷入apk步骤(SystemUI.apk为例):

adb root

adb remount

adb push ‘/home/ts/下载/SystemUI.apk’ /system/system_ext/priv-app/SystemUI/SystemUI.apk

adb reboot recovery 恢复出厂设置(板子reboot起不来的时候使用)

wipe data/factory reset [power键确认]

factory data reset

reboot system now [power键确认]

adb pull 文件路径 ./ 其中./表示将设备中的该文件保存到主机当前目录下

adb shell命令

可以在终端中与adb shell 组合执行,也可以adb shell 命令进入shell模式之后执行,退出shell模式用exit;以下命令均使用前一种。

例:查看设备屏幕密度

adb shell wm density

或分两步:

adb shell

wm density

命令作用
adb shell进入shell模式

查看设备中应用信息

命令作用
adb shell am dumpheap com.android.systemui /data/local/tmp/sys01.hprof抓取hprof文件
adb shell pm list users查看当前用户的UserId
adb shell pm list packages -f |grep “SystemUI.apk”查看SystemUI.apk在设备中的路径,(查询结果的’'="前面)
adb shell dumpsys window | grep mCurrentFocus查看当前页面的包
adb shell dumpsys activity activities | grep “mResumedActivity”查看当前活跃的activity

模拟按键输入

命令作用
格式:adb shell input keyevent <keycode>
adb shell input keyevent 26模拟按电源键
adb shell input keyevent 221模拟提高设备屏幕亮度
adb shell input text hello焦点在文本框的时候该命令输入hello文本

查看设备信息

命令作用
adb shell getprop获取各种版本设备信息
adb shell getprop | grep gsn获取设备编号
adb shell getprop ro.build.version.release获取Android系统版本
adb shell getprop ro.vendor.build.fingerprint获取设备的build-fingerprint
adb shell dumpsys battery查看电池电量状态信息
adb shell dumpsys battery set level 100让设备电量显示百分百
adb shell wm size查看设备尺寸,如果更改显示大小,会增加override size项
adb shell wm density查看设备dpi,如果更改显示大小,会增加override density项
adb shell wm density 160修改屏幕的dpi
adb shell wm density reset重置dpi
adb shell settings get system screen_brightness相当于 Settings.System.getInt 的命令

与应用交互

命令作用
格式:adb shell am <command>
常用command:
start [options] <INTENT>启动 <INTENT>指定的 Activity
startservice [options] <INTENT>启动<INTENT>指定的 Service
broadcast [options] <INTENT>发送<INTENT>指定的广播
force-stop <packagename>停止 <packagename>相关的进程
INTENT选项:
-a <ACTION>指定 action,比如android.intent.action.VIEW
-c <CATEGORY>指定 category,比如android.intent.category.APP_CONTACTS
-n <COMPONENT>指定完整 component 名,用于明确指定启动哪个 Activity,如com.example.app/.ExampleActivity
例:
adb shell am start com.lenovo.ue.device/.TestActivity调起大数据打点的界面(启动 <INTENT>指定的 Activity)
adb shell am startservice -n com.android.systemui/.SystemUIService调起SystemUIService
adb shell am broadcast -a android.intent.action.DISTANCE_NEAR发送广播,指定action为android.intent.action.DISTANCE_NEAR

其他

命令作用
adb shell settings put system screen_brightness 60设置settings中亮度条的亮度值为60
adb shell pm clear com.android.settings清除指定apk包的数据,这里清除设置进程,使其刷新,不需要重启设备
adb shell pm list users查看当前用户的UserId
adb shell pm install -r apk安装apk
adb shell ps -ef |grep systemui查systemui进程
adb shell kill -9 [进程号]杀systemui进程

fastboot命令

adb reboot fastboot --进入fastboot模式

命令作用
fastboot devices查看fastboot模式下连接的设备
fastboot erase system擦除分区,将该分区恢复到使用前的状态
fastboot flashing unlock设备解锁,开始刷机
fastboot flash system system.img路径刷入system分区
fastboot [-w] rebootfastboot模式下重启手机 w参数表示清除用户数据,也可以不加
fastboot flashing lock设备上锁,刷机完毕
fastboot continue自动重启设备

git命令

命令作用
git status查看被修改的文件(仅文件路径)
git checkout .撤销本地仓库当前所有修改(modified)
git checkout 文件路径名撤销指定文件的修改,撤销多个则可以后面加空格再加文件路径名
git diff查看被修改的所有文件的详细内容信息:
显示增删的代码语句
git diff 文件路径名查看被修改的某个/某几个文件的详细信息,多个参考checkout
git diff > temp.diff保存临时修改生成diff文件,不保存未追踪文件
git format-patch [commitid]生成patch
git format-patch HEAD^生成最近一次提交的patch
git apply temp.diff将先前保存的diff文件还原成修改前
(如果文件空,使用rm 文件路径 删除)
git apply --reject temp.diff如果最新的同步和自己修改有冲突
会rebase失败,apply不成功
该命令强制还原,并显示冲突详细内容
为.rej文件,显示在冲突文件同级目录下
根据.rej文件的修改到冲突文件中逐一对照修改
git apply temp.patch将patch文件还原成对应修改
git add .当前目录下所有修改保存到暂存区
git add 文件路径名 [文件路径名2] [文件路径名3]添加指定文件1 2 3到暂存区
git commit提交暂存区文件
git commit -m “注释内容”不使用vim编辑注释,直接提交,带注释
git commit --amend追加提交,不增加一个新的 commit-id
将新修改的代码追加到前一次的提交
git reset1. 移除暂存区的修改
2. 回退本地版本
git reset 暂存区的文件路径名移除暂存区该文件的修改至本地修改区
git reset commit-id回退对应的提交
git reset --soft HEAD^会退到上一个版本,HEAD^ 上一个版本
git log查看先前提交的 commit-id
git log --after=“2018-05-21 00:00:00” --before=“2018-05-25 23:59:59” . > patchList.txt模块目录下执行该命令,查看该模块在某段时间中的提交记录并生成文件
git log --oneline --after=“2021-11-10” . > patchList.txt查看某个日期后更新的简要提交记录
git log --author=“username” --since=2018-10-01 --until=2018-12-31 --pretty=tformat: --numstat |awk ‘{ add += $1; subs += $2; loc += $1 - $2 } END { printf “added lines: %s, removed lines: %s, total lines: %s\n”, add, subs, loc }’ -查看username在某段时期的代码提交修改量
gitkcommit之后执行可弹出图形界面查看修改模块
gitk 文件路径名看这个类的所有修改记录(按时间线)
git push 库名 库的某个分支将本地分支推送到库的某个分支
git branch查看本地所有分支
git blame -L 1,3 文件路径名看1-3行的提交方

repo命令

命令作用
repo sync -c -d --no-tags -j6-c 只拉取当前分支代码;
-d 将所有git仓库的HEAD重置为manifest文件的指定版本
(处于暂存或修改的目录变化不会被重置);
-f 如果sync失败继续同步;
–no-tags 不拉取tags(tag不大,但多)
repo sync .同步当前模块
repo sync擦除分区,将该分区恢复到使用前的状态
repo init -u … 分支名下载源码(新创建的文件夹下打开终端,执行命令)

make 命令

项目根目录下执行

命令作用
make clean删除所有被make创建的文件(object文件(后缀为“.o”的文件)及可执行文件)
make SystemUI -j8编译SystemUI,生成SystemUI.apk文件
make -j8整编,生成System.img文件

例:编译apk文件(单编)

$ source build/envsetup.sh
$ lunch
选择数字编号,如输入15,回车	--编译64位的apk(具体以编号提示为准)
$ make SystemUI -j8

build/envsetup.sh 是一个脚本文件

source build/envsetup.sh source命令只是读取脚本文件的内容并执行

. build/envsetup.sh source可以替换为 . 作用一样,不要忘了 . 后面有空格

$ make SystemUI -j8 可以提高编译速度

$ make SystemUI 可以不加 -j8

$ make SystemUI -j16 可以修改j后面的数字

make -j带一个参数 可以把项目在进行并行编译,比如在一台双核的机器上整编,完全可以用make -j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源。

vi修改文件命令

按键功能
i/o开始编辑,从命令模式跳到编辑模式
ESC退出编辑模式,回到命令模式
:wq+enter保存并退出文件,回到终端
:w保存文件但不退出vi 编辑
:w!强制保存,不退出vi 编辑
:w file将修改另存到file中,不退出vi 编辑
:wq保存文件并退出vi 编辑
:wq!强制保存文件并退出vi 编辑
:q不保存文件并退出vi 编辑
:q!不保存文件并强制退出vi 编辑
:e!放弃所有修改,从上次保存文件开始在编辑

查看java jdk的安装路径

命令描述
which java无法定位到java的安装路径的,只能定位到执行路径
echo $JAVA_HOME定位到java安装路径,前提是匹配了环境变量 $JAVA_HOME
ls -lrt定位到具体安装路径

ls命令

命令描述
-a显示所有文件即目录(ls内定将文件名或目录名称开头为“.”的视为隐藏档,不会列出)。
-l除文件名称外,亦将文件形态、权限、拥有者、文件大小等资讯详细列出。
-r将文件以相反次序显示(原定依英文字母次序)。
-t将文件依次建立时间之先后次序列出。
-A同-a,但不列出“.” (当前目录)及“…”(副文件)。
-F在列出的文件名称后加一符号;例如可执行档则加“*”,目录则加“/”。
-R若目录下有文件,则以下之文件亦皆依序里列出。

sudo命令

命令描述
sudo su特权命令,使有权限修改一些root才能修改的文件
sudo chown ts -R /dev/kvm虚拟机无法启动使用该命令
exit退出特权命令模式

压缩/解压缩命令

同样大小的文件压缩之后,.7z文件最小,可压缩至一半大小

命令作用
$ unzip -O cp936 filename.zip解压缩zip文件
$ tar -zxvf filename.tar.gz对软件包进行解压缩,解压缩所得的文件在以filename为名的目录中

其他

命令作用
ibus-setup启动输入法
rm -rf 文件路径名删除文件
在其他地方复制之后,在终端光标位置按鼠标中键可以粘贴终端粘贴文本
ctrl+R,出现冒号之后输入命令,后面会出现历史记录,按tab选中根据历史快捷输入命令
gnome-system-monitor调出CPU状态查看器
grep -rn “systemui”查找该目录下含该字串的文件
  • 0
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值