开发工作中使用的命令行

adb指令

进入设备命令

1、进入项目时,使用adb root与 adb remount 获取权限
2、adb devices 获取连接的设备号
3、adb -s [设备号] shell 进入设备Linux命令行状态,
电脑仅连接一个安卓设备时,命令可简化成 adb shell
4、退出设备Linux命令行状态:exit
5、重启指令:adb reboot,
在Linux命令行状态下可简化成reboot
6、查看当前活动应用的名称:adb shall dumpsys window | grep mCurrentFocus
7、启动应用:adb shall am start -n 【应用包名】
7、关闭应用:adb shall am force-stop 【应用包名】

安装apk

adb push [安装包路径(直接拖可直接显示路径)] [安装路径](eg:\system\app)

error提示: couldn’t read from device
解决方法:1、进入设备;然后依次使用命令:su→mount -o remount,re -t \system
2、然后退出 exit; 重新push

关闭应用

  1. adb shell ps (查看运行应用的进程ID【PID,注PPID 父进程ID】)
  2. adb shell kill pID (关闭进程)

拉起应用

am start []

卸载设备应用:

1、查看安装的应用的包名(知道包名可忽略):adb shell pm list packages
2、卸载应用:adb uninstall [包名]

git命令

  1. 提交代码时报错,提示: missing Change-Id in commit message footer
  2. 进入.git 文件所有目录下 使用命令 scp -p -P 29418 【邮箱地址】:hooks/commit-msg .git/hooks/
  3. git commit --amend 然后 输入:wq! .
  4. git push 【远程仓库名】 HEAD:refs/for/【分支名】
  5. 将仓库的指针设置成游离状态: git checkout HEAD~1

Android系统 修改/查看设备的信息,属性文件

在安卓设置进入linux命令行状态下,非Linux需要添加 adb shell
1、watchprops:监听属性变化,若变化则将变化的值打印出来
2、setprop :设置配置信息,注意:以ro开头时只读配置,不能更改;
3、getprop :获取设置所有的配置信息
getprop :获取单个配置信息
使用管道命令符“|grep “配置打印的筛选
4、查看窗口中页面的信息 dumpsys window windows
"appop="是页面的层级

LOG 相关命令

查看进程相关
1、ps -A[可以写-A|-e|-f|-ef] |grep -i [名字] 显示有关盘[名字]有关的进程
输出的结果如下:
UID PID PPID C STIME TTY TIME CMD
root 18887 18828 0 08:09 pts/0 00:00:00 grep ApacheJetspeed
其中各个字段含义如下:
①命令各个的含义:
ps:将某个进程显示出来
-A  显示所有程序。
-e  此参数的效果和指定"A"参数相同。
-f  显示UID,PPIP,C与STIME栏位。
grep命令是查找
中间的|是管道命令 是指ps命令与grep同时执行

②输出结果各个字段的含义:
UID PID PPID C STIME TTY TIME CMD
各相关信息的意义:
UID 程序被该 UID 所拥有
PID 就是这个程序的 ID
PPID 则是其上级父程序的ID
C CPU 使用的资源百分比
STIME 系统启动时间
TTY 登入者的终端机位置
TIME 使用掉的 CPU 时间。
CMD 所下达的指令为何

logcat|grep [进程号]: 查看进程的log

repo下载代码

使用repo从geerit上克隆代码

1、 repo init -u [url] -b [分支名]:当前目录创建一个特定的repo目录,从url中取得manifest文件
repo init -u 【gettit的URL】 -b 【分支名】

2、repo sync -c :-c 表示仅仅获取
第一次运行,相当于git clone,把repository中所有内容拷贝到本地,非第一次相当于更新和自动合并工作

repo sync -c //更新全部项目,只同步指定的远程分支
repo sync -j4
-j : 多任务,一般8核心可以开到16任务,过多会起反作用

-c: 只下载当前分支代码

-d: 让工程回退到manifest指定的版本(忽略本地更改,将本地库更新成远程仓库)

-f: 如果某个工程同步失败,继续同步

repo sync .//更新当前文件夹

3、git fetch --all 更新远程代码库

git status //查看changes命令

git reset --hard //回滚 可以加提交版本号,如果未commit会导致所有文件被删除,慎用慎用
git checkout [url] //检出文件 repo sync .//更新当前文件夹

git相关命令

git checkout -b [工作区分支] [远程主机名]/[远程分支名] 从远程分支拉取代码到新建本地分支中
git checkout [工作区分支名] 切换到指定工作区分支
注:分支切换不了提示分支不存在,可以git fetch --all(针对的是新增分支)
git checkout -B [工作区分支] 【远程仓库名】/【远程分支名】 将远程分支覆盖到当前本地分支上
git checkout -f 【分支名】 忽略本地的修改,强制切换分支

创建一个文件夹
mkdir [文件夹名]

1、提交代码(工作区、暂存区、本地仓库、远程仓库)
git branch -vv 获取工作区分支(包含当前所处分支、所在commit)
git status 查看代码中被修改的文件(含文件路径)
git add . 将工作区所有修改文件提交到暂存区
//----git reset [不需要提交的文件名(含文件路径),多个文件中间以空格分隔] 将不需要提交的文件加了add,将其取消add
//----git add [需要提交的文件名(含文件路径),多个文件中间以空格分隔] 不是所有文件需要提交,将需要文件以其添加add
//----git add [需要提交的文件名(含文件路径),多个文件中间以空格分隔] 不是所有文件需要提交,将需要文件以其添加add

git commit -m “tag内容” 将修改文件从暂存区提交到本地仓库区,""包裹为tag信息,

git push aosp HEAD:refs/for/【分支名】将文件提交到指定分支的远程仓库中,aosp–远程主机名 HEAD–指代本地分支名 :后面为远程分支名(本地分支名与远程分支名一致,则可以省略 本地分支名之后的信息)
//----git push --force aosp HEAD:refs/for/【分支名】将文件强制推送到远程仓库
//若 clone的代码则使用 git push origin HEAD:refs/for/【分支】 方式提交。

//1、提交代码失败,提示: missing Change-Id in commit message footer
//2、进入.git 文件所有目录下 使用命令 scp -p -P 29418 【url】:hooks/commit-msg .git/hooks/
//3、git commit --amend 然后 输入:wq! .
//4、git push aosp【或者 origin】 HEAD:refs/for/【分支】

2、删除工作区分支
git branch -D [工作区分支名]

3、删除远程分支
git push [远程主机名] --delete [远程分支名]

logcat|grep -E “updateOnlyCarBackground-functionId-|”

4、在最新一次提交的代码上做修改
① git commit --amend 回车

② 点击“Esc”键,输入:wq! 强制保存退出

w write 写入
q quit 退出
! 强制
或者:x 保存退出
:q 不保存退出
:q! 不保存强制退出
③ push一遍

git更新代码

更新代码时提示:Please, commit your changes or stash them before you can merge. Aborting
第一种方式(若提示部分文件有冲突,将冲突文件删除,在执行一下步骤)
git pull [远程服务器名] [远程分支名]
git checkout [远程分支名] (若文件位于分支,则忽略)
//然后更新代码
第一种方式git fetch --all
git reset --hard
第二种方式repo sync .(更新当前文件夹)

提交代码

gerrit提交代码时,代码冲突处理步骤。
1、在gerrit网页中进入提交代码页面里,点击页面右上角DownLoad→选择check pick 那一行最后的小图标(copy to clipboard)
2、打开cygwin ,进入代码所在路径,将第一步骤中复制的命令粘贴到cygwin中。按entery键。
3、输入命令行 git status ;自动打印的字体中红色的为冲突文件。git diff 【文件名】查看 冲突详情。

获取git上提交的某一笔代码详情

1、 git format-patch -1 1a0f2865a7be03444202ad10395bd17ad1801203
0001-NACA-ID-bx11_sop_16233mcu-setting-1-1-seq-check.patch
2、mv 0001-NACA-ID-bx11_sop_16233mcu-setting-1-1-seq-check.patch …/…/
3、git am 0001-NACA-ID-bx11_sop_16233mcu-setting-1-1-seq-check.patch

4.git push aosp HEAD:refs/for/分支名
(git commit -m “[NACA-ID:none][setting][][][seq check]”)

项目安装卸载

2平台(需要获取root权限):su root 获取root权限
mount -o rw,remount /system 挂载

scrcpy投屏软件的使用(需要连接adb)

将屏幕ID 0显示的内容显示在屏幕ID 1上: am swap 0 1
快捷方式显示指定屏: 快捷键-》属性-》快捷方式页面中的目标栏中后面添加 --display 【屏幕ID】
快捷方式显示指定分辨率: 快捷键-》属性-》快捷方式页面中的目标栏中后面添加 --m 【分辨率】

进入到adb shell 环境之后
screencap mediausb.png
截取指定id屏幕 screencp -d 【屏幕id】【图名】.png

ps |grep jazz 查看进程
wm density 160 改变分辨率240
wm density:查看和设置显示密度
wm size:查看和设置显示分辨率
wm overscan:设置显示区域,依次为左、上、右、下

将gerrit上代码格式将换行符(LF)转换成回车换行(CRLF)

1、在window上使用
git config --global core.autocrlf 【配置项的值】
【core.autocrlf 】是设置git提交时是否自动将换行符(LF)转换成回车换行符(CRLF)
配置项的值如下:

  • true:下载时自动转换成window格式(LF),提交时转换为CRLF
  • input:提交时将LF转换为CRLF
  • false:提交和检出时不转换
    2、在linux上使用
    find -type f | xargs dos2unix
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值