【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

重启