Android培训之Android开发入门之了解安卓系统架构

2016-02-19 16:28:18 497浏览

        移动设备的不断普及发展,相关软件的开发也越来越受到程序员的青睐,Android作为移动市场份额占有80%的霸主当之无愧的受到大家的青睐。大量的人才涌入Android开发行业,或参加Android培训,那么,Android开发者主要做什么,有什么组成你了解吗?

        Android开发主要分成两类:一类是Android系统底层开发;另一类就是Android应用开发,为了让底层开发能为Android应用开发所用,我认为底层开发者至少应对上述Android四层架构中的第二层与第三层有所了解。在必要的情况下,比如一个新的设备模块,就会要求我们提供相应的c/c++库、JNI,甚至应用Demo等,以便上层应用基于我们的设备开发f上j相应的功能提供给最终用户。

        第一层是Linux内核层,包括Linux操作系统及驱动。不同的Android版本所用的Linux内核版本不一样;甚至在不同平台,即使所用的Android版本一样,其所用的Linux版本也会有差异。例如,Android 1.6可能用的是Linux 2.6.29;而Android 2.3.7则可能用的是Linux 2.6.35;最新的Android 4.X则纷纷采用Linux 3.x。虽然,Linux 2.6.1之后的任何一个小版本都会有很大变化,但我们认为,就目前Android所用的Linux版本来讲,这些差别并不会有我们想象中的那么大。Android基于Linux内核,还增加了Binder驱动等模块,为系统运行提供了IPC进程通信等方面的支撑。

        第二层是核心的扩展类库,如SQLite、WebKit、OpenGL等,它们可以通过Java本地调用(Java Native Interface,JNI)的接口函数实现与上层之间的通信。该层由Android的Java虚拟机Dalvik和基础的Java库为Java运行环境提供了Java编程语言核心库的大多数功能。

        第三层是包含所有开发所用的SDK类库和某些未公开接口类库的框架层,是整个Android平台核心机制的体现。

        第四层是应用层。系统自带应用和第三方开发的应用都位于这个层次上,但两者不完全相同:其中系统应用会使用一些隐藏的类,也就是说,这些类没有包含在SDK中;而第三方开发的应用,是基于SDK基础上开发的。一般Android开发是在SDK基础上用Java编写应用程序,但本机开发程序包NDK提供了应用层穿越Java框架层直接与底层包含了JNI接口的C/C++库直接通信的方法。在研发工作过程中,我发现有人常将NDK与JNI混为一谈。从这里,我们应认识到它们还是有所区别的:Android的应用开发者用JNI与C/C++库通信的话,他应该通过NDK;而对于本书的主要读者——Android的驱动开发者来讲,则主要考虑如何为底层驱动实现JNI接口,以便上层可以方便地调用由该驱动程序所驱动的相应设备的功能。

        Android是目前全球使用人数最多的移动平台系统,如此光明的发展前景让越来越多的人才转投领域从零开始学Android开发技术。而扣丁学堂秉承良心教育原则,免费发布Android开发教程视频,完整的Android学习路线让学员更好的理解Android开发与入门知识。


 查看更多关于“Android培训资讯”的相关文章>>

标签:

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号