【CRT连接远程编译服务器】
1.打开CRT, 新建Session
2.Session 协议SSH2,HostName为服务器地址,并输入UserName,下一步
3.安全协议默认,SFTP,下一步。完成。
【远程服务器映射到本地】
HostName\Home
【CRT设置】
1.Options-->SessionOptions
2.Terminal-->Emulation
3.Terminal :Linux;ScrollbackBuffer:128000
【CRT连接终端】
1.打开CRT,新建Session
2.Session协议Serial,下一步
3.打开设备管理器,查看终端连接USB端口号,CRT中port对应选择,波特率选择115200,其他默认,下一步
4.完成
【CRT下Linux命令】
cd --------------- 到根目录
cd ~ --------------到根目录
cd ~/ -------------列出根目录下的文件
cd .. --------------返回上一级目录
cd - ----------------- 返回上一次目录
tab 自动补全
mkdir Projects-------新建Projects文件夹
cd Projects -----------进入到Projects文件夹中
vim test.java ------------打开当前目录下test.java进行编辑
find -name *.java | xargs grep setAnything ------------------列出当前目录下含有setAnything的*.java文件
grep -nr setAnything --------------------------递归寻找(-nr)含有setAnything的文件
[安装插件后查看文件]
vim ------- 进入当前目录状态
,, ----------- 文件以list格式列出
ctrl+j/ctrl+k -------- 下/上选择文件
直接输入词语------- 进行文件名词语匹配
enter ------选中当前文件并进行查看
:q ------- 退出文件编辑 再一次回到正常命令行状态
【CRT下SVN命令】
svn checkout svn路径 == svn co svn路径 ---------------------- svn命令,将svn路径工程拉到当前路径下,等同于 git clone git路径
svn st ------------------------------ svn命令,列出当前目录下所有被修改过的文件, 等同于git status
svn diff (test.java) ----------------------- svn命令,列出(test.java)文件被修改过的地方和内容,等同于 git diff
svn commit (test.java) -m “log message” == svn ci (test.java) -m “log message” ------------------------ svn命令,将(某文件)修改提交到svn上,并附以message日志, 等同于git commit + git push
svn revert test.java -------------------- svn命令,丢弃对test.java文件的修改
svn up ------------------------------------更新当前目录下代码 等同于git pull
svn revert (-R) 参数 回滚恢复,-R表示回滚参数目录 不带-R表示回滚参数文件
svn st -u -------------------------------查看远端更新的文件列表
svn up path ---------------------------更新单个文件
svn up -r版本号:更新代码到某个版本
svn info:查看当前版本号
svn深度签出:
--depth empty:只包含目录自身,不包含目录下的任何文件和子目录。
--depth files: 包含目录和目录下的文件,不包含子目录。
--depth immediates: 包含目录和目录下的文件及子目录。但不对子目录递归。【目标1】
--depth infinity: 这是默认的,包含整个目录树。【目标2】
当有冲突的时候,会提示Tree Conflict,查看带红色C的文件,看看是哪个文件有冲突了。(如果不是修改了,就应该是svn在up或clear的时候没有清除干净,导致的conflict。
1.svn st查看当前目录出错情况
2.查看这个文件修改情况 svn diff 文件名(如果并没有修改记录,说明是up或clear的时候出错
2-1.如果文件太多找不过来,可以使用svn st | grep C直接搜索冲突文件。
3.恢复一下:svn revert 文件名。
删除不在版本库管理范围的文件:
svn st | grep ^? | awk '{print $2}' | xargs rm -rf
svn st | grep ^! | awk '{print $2}' | xargs svn revert
svn st:查看状态
grep ^?:筛选出所有不在版本库控制范围内的文件(不在管理的会是?开头,在管理的如果是新增是A,修改M,删除D。)
awk '{print $2}':awk指定对行处理,获取从第二个字符开始的语句(第一个字符是?,第二个字符开始才是去掉了空格的真正的文件名)
xargs rm -rf:rm删除,-r表示递归,-f表示强制删除,使用xargs进行分批处理,防止由于文件太多而报错
xargs svn revert:使用xargs进行分批处理,进行svn revert操作。
如果某个文件被删除过,很可能在svn up的时候会出现树冲突:tree conflict
使用svn st查看一下是那些文件冲突了(有C标记)
D C device/konka/KKRtd2852/overlay/frameworks/base/core/java/android/app/IKKConfigService.aidl
> local unversioned, incoming add upon update
D C device/konka/KKRtd2852/overlay/frameworks/base/services/core/java/com/android/server/KKConfigService.java
> local unversioned, incoming add upon update
解决办法:
svn resolve --accept working 文件
svn revert 文件
这时候用svn st查看 已经解决这个树冲突
合并merge:子分支和主分支,现在要把主分支合到子分支上。
前提:子分支是创建的时候是4139版本,为了防止merge错误,修改完后提交,版本是4173。up了之后,子分支当前是4173版本。
分析:子分支欠缺了主分支4139到4173版本的内容,因此需要把这两个版本的内容差异合并进来:
svn merge http://svn.konka.com/svn/P_RTD2852/sourcecode/trunk_Android5.1 -r 4139:4173
合并进来后,提交,子分支这个节点是4176版,up到本地。4173到4176说明中间又更新了几个版本,子分支缺少4173到4176版本的主分支内容。继续同一操作:
svn merge http://svn.konka.com/svn/P_RTD2852/sourcecode/trunk_Android5.1 -r 4173:4176。
完成。
【adb连接usb有线调试】
USB接板子的 2.0 口
settings put global development_settings_enabled 1
settings put global adb_enabled 1
setprop persist.konka.allow.adb true
setprop persist.konka.allow.adb.root true
重启