继续学习Linux驱动还是学习android Native层和开源库Library


LZ在一家不大不小的公司做驱动,但其实只是简单的移植和修修改改。虽然还有很多东西可以去学,但不知道是继续学习驱动,还是适当的学习些上层的东西,比如Native层的一些library。

如果说驱动都由 IC 厂做好了,不需要修改了。那么上层又有多少东西需要修改的?

不少做Java上层的同事都想学习底层驱动,他们都觉得上层太简单了,刚毕业的应届生学几个月就会了,他们很有危机感。
可是,从我的角度看,做驱动虽然有难度,但招聘驱动开发的职位远远没有招聘Android上层Java开发的多,差了好几倍。
做驱动开发,或许,去 IC 厂是最好的选择。

我的一个观点是:需求决定市场。
当企业做一个产品,一个项目,为了迎合市场需求,需要在产品的某些方面做些修改和创新,因此也需要人来做这方面的开发。如果涉及硬件的改动,就可能会涉及到驱动开发。如果只需要修改应用,那就不涉及驱动。

无论是个人还是企业,都没有能力左右市场需求,也很难准确的预测市场需求。因此,对个人来说,学习什么技术,确实没有明确的参考坐标。四、五年前,当年android刚刚火起来的时候,很多公司开出一万多的高薪来招聘android开发人员,都抢不到人。谁能想到android手机普及的那么快,android开发人员也迅速多了起来,近几年android开发的工资已经趋于平稳。我想,说不定现在大学里的软件专业,都少不了android的课程吧。现在做android开发的工资真心不算高,相比之下,很多其他行业才是暴利,比如房地产和金融。上51job一看,一大片都是招聘android上层开发,java、客户端等关键词,基本表明这个职位与驱动无关。或许,现在真的是互联网时代,每个公司都想给自己做个App,就像当年每个公司都想给自己做个网站一样。当年很火的.Net, ASP, JSP,现在也听不到声音了,因为网站该做的都做好了,剩下的就是维护了。还因为曾经人们都是坐在电脑前上网,而现在都在用手机上网。据说做J2ME的人很容易转到Android的Java开发,因为很相似,可是做驱动的人想转到Java开发确实要从头开始。

就LZ个人而言,对Java层并不感兴趣。虽然对Native层的C++和一些开源库Library感兴趣,可是往往因为代码量太大而觉得力不从心。android中包含了很多开源库,那些开源项目动辄几十万行代码,想想就烦躁。即使去看,也要投入很多时间和精力的。

那么问题来了,LZ是应该继续深入学习驱动,还是投入时间和精力去学习Native层及各种开源库Library?

9 个解决方案

#1


个人认为两者并不矛盾,只要lz有精力学的,完全可以两者兼顾,驱动的活不在IC厂商的话并不算多,整天都是熟悉内核架构,移植、修修补补,学Native Library和Hal也能拓宽就业面,和驱动相比跨的不大,完全可以两者兼顾

#2


楼上说的很对,两者并不矛盾的,学习Android系统要懂一些Linux底层驱动方面的知识,同时要想真正做产品,图形系统又是必要的,也就是Android层面的设计也不可少,建议楼主找一块合适的开发板练练手不,推荐4412的板子,可以流畅跑Android,资料也比较齐全了

#3


无论是驱动还是android的native层,都是只有在IC厂家才活多,其他做具体产品的公司,只能呵呵了。。。

#4


具体选择做什么,看自己的兴趣,最主要的就是做好准备,多关注相关的工作机会。。。

#5


引用 1 楼 cangmu2007 的回复:
个人认为两者并不矛盾,只要lz有精力学的,完全可以两者兼顾,驱动的活不在IC厂商的话并不算多,整天都是熟悉内核架构,移植、修修补补,学Native Library和Hal也能拓宽就业面,和驱动相比跨的不大,完全可以两者兼顾

你说的很对,本来我是只想做驱动的,可是真正需要去做的驱动很少,大多数时候都只是在看驱动框架。即使在IC厂商,驱动也不会频繁的修改吧。内核的东西看得再多也很难转化为成果,很难体现在收入上,因为缺乏市场需求。虽然Native C++和Library是中间层,但却实现了大部分功能和复杂的逻辑,是有含金量的,可以学到很多东西,同时对做产品也有很大帮助。

#6


其实是相通的。 可以去学些native的开发。

#7


哎。。。现在缺钱。。。什么赚钱就干什么。。

#8


Library。。。学学挺好

#9


学学挺好

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号