1、第一个层次和传统的嵌入式linux最接近,主要涉及的是CPU、GPU以及外设的驱动以及使能方面。需要熟悉Linux内核,Android框架定义中驱动的接口规范等等,这部分开源社区的力量最大。

2、第二个层次主要是涉及Android框架中间件部分,如多媒体/3D框架,Java虚拟机等等,这部分Google控制的是最严格的,因为他要控制Android各种feature以及捆绑自己的移动互联网应用,必须规范中间件。这部分所涉及的软件技术也最多,从各种C/C++库,Java虚拟机性 能,用户体验抽象到数据库设计等等很大的内涵。
3、第三个层次就是App开发层次,这个层次主要就是利用Android SDK开发了。很多C/C++出身的觉得是用Java开发,其实Java就是啥都是指针的C++,外带try/catch以及垃圾收集,上手其实是很快的。
目前来说嵌入式软件的就业前景很好,像STM32、飞思卡尔等系列单片机属于无操作系统的,直接对寄存器或者利用库函数操作的,这种学习来难度相对小一些,就业前景也不错。还有一些像ARM9,或者CortexA8、A9系列的可以运行Linux或者安卓操作系统的嵌入式软件系统开发,由于需要学习的内容较多,学习时间较长,那么学习起来就有一定的难度,工资也相对高一些。不管学习哪一类都要持之以恒,坚持下来就会学会的。当然,学习过程中,多做练习是必不可少的。
android系统是基于Linux的,Andorid是Linux嵌入式开发的。只是接口之类的是基于java的,编程语言是java。
Android:基于Linux 内核的 操作系统,是 Google公司在2007年11月5 日公布的 手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的 应用软件则由各公司自行开发,部分程序以 Java编写。