7/22
7/22-7/31工作学习总结
- 新的公司
- 1.本公司软件开发管理流程
- 2.开发人员SVN命令行指南
- 3.adb工具
- 4.安卓启动流程
- 5.手机更新驱动文件的方法
- 6.Linux DTS 学习
- ubantu系统之磁盘空间不足
- 8.安卓架构
- 9.其他细节
新的公司
6月底辞去了浙江东车智能科技有限公司的不靠谱的工作,5月的工资欠了1个多月,所幸辞职后跟同事们一起给公司施加压力,他们7月18号补发了工资。更幸运的是,经过7月份上半个月的心态调整,努力地找工作,上天终于给了个我决定转行到嵌入式开发以来靠谱的工作。我毫不犹豫地立马从杭州来到了上海工作。7月22号是来上海上班的第一天,新的平台,新的环境,持续努力着要在上海好好地提升自己的能力。像周星驰那样对着大海喊:努力!奋斗!
由于新的公司做的是高通和安卓平台,自己以前没有做过,需要学习的东西很多,从入职到现在,除了给同事帮帮忙,基本上每天都是在看资料学习。
下面就是这段时间的工作学习总结,会东一榔头西一棒槌,知识点也涉及得不深入,不成体系。主要供自己学习总结记忆之用,若能给他人带来些许启发或帮助问题的解决,那真是美哉善哉。
1.本公司软件开发管理流程
直接上图片
2.开发人员SVN命令行指南
SVN(subversion)是开放源代码的版本控制系统,很容易上手学习,其中linux系统下SVN版本管理工具最可靠,最便捷,最简单的使用方法还是命令行方式。
-
svn的编号为E155007的错误提示:不是工作副本目录。(见下图)
出错原因: 我在从服务器下载主干代码到本地(svn checkout)时,遇到系统提示,【卷 文件系统根目录 仅剩余41KB的磁盘空间】,下载被迫中止。在解决了空间不足的问题后,直接在MSM8953_2016.SPF.3.0.1_AOSP目录下执行 svn cleanup 命令试图去继续下载。 结果报E155007的错误提示。
解决-----> cd 到主干代码目录下 执行svn cleanup 就ok了。【因为我只是把代码目录 checkout 到当前目录MSM8953_2016.SPF.3.0.1_AOSP,当前目录又不是 svn 管理的目录】 -
两个高效率使用SVN的提示
高效率提示一:
晚上下班前可以在代码的根目录下执行一下 svn update,然后设置一个定时关机,这样第二天你就不要花大量时间来同步代码了。
高效率提示二:
不要经常对代码的根目录进行 update,这是一个很漫长的过程,需要花费不少的时间,实际上多数人只需要更新几个特定的目录就行了。提交代码也是如此
如:
应用的同事通常更新 build,system,packages,frameworks,vendor
驱动的同事通常更新 build,system,kernel,bootable
同步几个子目录所花费的时间远远少于同步根目录的时间!
3.adb工具
adb工具是android debug bridge(安卓调试桥)工具。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。在某些特殊的情况下进入不了系统,adb就派上用场啦!
我也是刚刚接触adb工具,记录下自己最近学习的一些命令。
- adb devices —》 查看当前上位机连接的adb设备
- adb shell ----》登录adb设备的控制台(进入安卓系统设备控制台之后,就不能在输入adb xxx 了,因为此时的shell相当于adb的客户端,上位机相当于adb的服务端,见下图)
- 以超级用户状态登录adb设备的控制台的方法
–》在普通用户(窗口提示符号为$)下,输入 su 命令即可切换(见下图)
–》在上位机终端输入 adb root 然后再输入adb shell 就可以root权限登录
4.adb pull <文件路径>
—》将该文件拷贝到当前目录中,然后可以直接用上位机vim查看 - adb push <本地文件目录> <adb终端目标路径>
–》 将本地修改好的文件上传到adb终端里面 (操作之前需要 输入adb remount 命令进行挂载 否则不可写) 然后adb reboot重启
查看修改的文件是否运行。若不运行,则尝试按照如下方法解决下
adb shell rm /xxx/xxx/sns.reg --> 删除相关注册文件
adb shell sync --> 将内存缓存区中的数据写入到磁盘
adb reboot
4.安卓启动流程
这一部分知识在CSDN上看了一些文章,也没有看得明白,主要是看了下面连接的一篇老外写的文章,英文水平有限,感觉只能理解60%.
链接: From PowerOn to Android – The Boot Sequence.
5.手机更新驱动文件的方法
烧写方式:
- adb reboot bootloader
fastboot flash boot [path]
结果发现我的这次操作不行,号哦啊想是fastboot功能被关闭,然后领导就spm教我另一种方法。 - 在windows平台下使用Qloader。
首先在FTP服务器上下载正确的软件版本,(version有三种,1. mdm 2. AP 3. otazip)本案选择了mdm全版本的无MD5的那个)
然后,将短接线(不上电的USB线)插入手机端usb接口,长按电源键会自动关机进入deloader模式。
最后,打开Qloader,选择对应的串口,对应的CPU,浏览本地软件包知找到后,选择执行操作,耐心等待一分钟,手机会自动安装刷新安装包。
这就是线刷,还有卡刷。
【线刷一般都是官方所采取的升级方式,指使用USB线作为刷机工具进行刷机,线刷一般需要刷机工具 (fastboot)和专用刷机包,刷之前必须确定手机驱动是否已安装好,主要用来刷固件(包含基带、内核) ,如果手机软件故障造成无法开机等情况,就可以考虑使用线刷来修复手机系统(刷机友也喜欢统称这种刷机方式为“强刷”) 。
而卡刷是把固件或者升级包拷贝到手机SD卡中进行刷机升级操作,是在Recovery 下进行刷机的方式。
卡刷一般是用来升级的,对于手机的操作有些是卡刷解决不了的,比如系统的重新分区,这些都要通过线刷来进行。】各自的优缺点:???
6.Linux DTS 学习
本周对于linux 设备树资源的学习比较浅,只是大概了解了下相关的概念。
主要是参考CSDN里的如下链接的文章。
链接: ARM Linux 3.x的设备树(Device Tree)
ubantu系统之磁盘空间不足
好像分两种情况,一种是 卷 文件系统根目录 空间不足 另一种是 卷 root空间不足。参看下图,它们之间有什么区别呢?
8.安卓架构
二话不说,先上个架构图
到目前为止,只是很粗浅的认识,是参阅下面这篇CSDN博客学来的
链接: 安卓架构
这个随着对安卓认识的深入会持续补充的
总结:今天算是在7月份的尾巴把这篇博文更新完98%了,此时此刻,我还在公司加班,虽然累点但是很兴奋,好不容易入行,一定要努力快速成长。
p.s.
今晚,领导交给了我一个新任务:找到更新系统(从安卓6.0 到 8.0),TP(触摸屏)初始化后正常使用18秒左右,就不能正常工作了。领导很忙,没有时间去定位问题,估计花了半小时给我讲了定位问题的大致框架,我边做笔记边听,觉得很复杂。公司使用的基本工具还没有完全掌握,对我来说很有挑战性。我的目标是 尽力作,多学点,多做点。哪怕解决不了问题,也能尽以下绵薄之力。
希望下周末,写篇相关的文章记录下今天的flag。
下班了,8月加油! 2019/07/31 晚9点
9.其他细节
是r1 还是 rl 这是一个问题,太细节了 哈哈哈
查看文档时候的一个问题,内存2G 是指 2GB 还是 2Gb 嘤嘤yin。。。
更多推荐
7/22
发布评论