测试apk部署时遇到的问题
前段时间,做过一个终端手机项目,其中有一项是通过使用同事写的apk(仅内部使用的apk,仅仅用来做一些测试),来抓取一些特殊信息,用来做一些异常情况下的异常行为分析,这个特殊信息存储的在手机中的log分区下,之所以存这个分区,是因为这个分区通常是可读可写的,权限要求比较宽松,对于手机来说,整个数据通路是这样的apk<---->fwk<----->hal<----->驱动<---->其他小系统(忽略jni层),我是负责hal,驱动,以及小系统,我从接手这个需求时,上层的apk和fwk已经是OK的了,所以压力都压在我这边了,刚开始,我是根据具体的需求和fwk给下发的命令做相应的实现,刚开始一切进展很顺利,所有的数据通路很快就都打通了,此时就可以进行联调了,在联调的时候遇到一些问题,在此我主要说一下当时的三个问题,其中前两个问题困扰我很久,第三个问题是工作量比较大。
1信息的存储路径一直创建失败
就是因为这个路径没创建下来,导致每一次信息存储的时候找不到对应的路径,信息就没存储下来了,当时的情况是有的设备可以存储,有的设备无法存储,刚开始一直在排查正常设备和异常设备的差异,结果对齐所以差异后,问题还是没有解决,而且在分析log时,一直在看hal,和hal以下的,忽略了上层的log,导致折腾了很久,而且我只能看到我这块的代码,看不到apk和fwk的,最后实在没招了,才手动使用mkdir创建这个路径,此时看到mkdir执行失败的log才发现了问题的根因,是由于对应的分区只有读权限,没有写权限导致的,最后这个问题还是其他同事帮忙给处理了,至于如何处理的,我至今还是不明所以
因为在开始的时候,有提到信息存储在log分区中,且这个分区是可读可写的,所以在刚开始排查的时候,就忽略了这个分区,没想到最后确就是分区导致的,所以以后还是要抱着怀疑一切的想法啊
2第二个问题是存储文件的格式
要存储不同类型的信息,就有不同的文件格式,整个流程是apk一直往下发命令,我收到命令后执行对应的操作,然后把原始的raw数据一直往上返回,直到apk收到数据进行存储,apk的界面上也会显示把信息存储到哪个路径下了,但这个界面显示的是raw数据的存储路径,至于其他格式的路径,apk界面没显示,导致我一度认为是hal这块应该要根据不同情况,返回不同格式的数据,因此排查了很久的代码,始终是没找到根因,最后还是有一天看到一个工作群里的消息,才知道原来apk界面就只会显示raw数据路径,且apk也会把数据存储成其他格式的数据,只是路径和raw数据路径不同,此时我才知道了啥情况
3.第三个问题,这个问题当时是我这边hal层和小系统那边的问题,还好这个问题我最后自己解决了,不然一个问题都没解决,我这么多年就是白混了啊,但是问题是因为公司项目多,有的项目是继承的,有的项目是继承并优化,而且优化这块有时候是小动,有时候大动,这就导致内部维护起来越来越乱,估计好多公司都会有这种问题,就是内部维护的问题,导致当时hal层和小系统某些通信协议有些发生了变化,有些没变,导致每一个业务接口都需要重新梳理,这真是一个浩大的工程啊,不过也是这项工作,然我梳理了很久都么看的代码,也算是因祸得福吧
经历这两个问题后,发现我工作上有个严重的缺点,特别是接手别人工作,或者是项目进行后才入项时,对整体方案不了解,遇到问题也喜欢自己钻研,没有及时的问别人,当时总觉得有些东西问别人显得我很不专业,很low,结果就是耽搁了自己很长时间啊
#我的失利项目复盘#