Android程序员面试宝典

android系统定制系列:

  • android系统定制从听说到入门一
  • android系统定制从听说到入门二
  • android系统定制从听说到入门三
  • android系统定制从听说到入门四
  • android系统定制从听说到入门五
  • android系统定制从听说到入门六

本文配套视频:

http://www.toutiao.com/i6432791134493213186/

android源码之前分为四层,如下图:


新的android源码分为五层,增加了HAL层,如下图:


1.源码级开发(系统开发)

源码级开发就是基于AOSP(Android Open Source Project)环境的开发工作,主要开发场景为Android系统定制,比如手机设备的MIUI,Flyme,Smartisan OS,基于电视的LetvUI,甚至还有针对投影仪,路由器等传统物联设备的Android系统定制开发。

1.1 Android系统分层

HAL层:(Hardware Abstract Layer)硬件抽象层。Android系统里封装内核驱动程序的接口层。对上层提供接口,屏蔽底层驱动实现细节.

本来Linux内核可以负责驱动接口定义和驱动实现,但是受限于GNU License(开源感染性),如果厂商选择驱动接口和实现都在内核空间完成,就必须开放自己的驱动源代码。这是不符合厂商利益的(驱动包含核心硬件参数,与其他厂家竞争的法宝)。所以Google将Linux内核中跟底层硬件操作相关的逻辑封装成HAL层接口,厂商基于接口去实现,不直接在内核空间实现驱动。因为Android系统遵循Apache License,不强制开源。

1.2三方应用开发与源码级开发的区别

三方应用开发是基于Android SDK开发。主要技术方向为APP及混合APP开发,数据库,网络协议,应用架构等,服务于商业APP需求。

源码级开发是基于AOSP环境开发,主要技术方向为系统应用开发,Framework开发,底层浏览器内核开发,音视频编解码开发,虚拟机开发,底层驱动开发等。服务于系统定制需求。

1.3 AOSP官网

AOSP官网提供系统开发相关指导,比如源码的环境搭建,下载,编译,维护,更新版本,开放驱动的下载等。

  • 欢迎关注微信公众号、长期为您推荐优秀博文、开源项目、视频

  • 微信公众号名称:Android干货程序员

更多相关文章

  1. android系统定制从听说到入门三
  2. android 开发环境的搭建
  3. 25个你应该阅读的Android网站
  4. android开发(36) Android(安卓)WebView背景设置为透明
  5. Android平台开发-3G function porting-3G功能移植
  6. 手机开发资料 > Android(安卓)(不错的入口)
  7. 比较好的Android社区
  8. Android软硬整合设计与框架揭秘: HAL&Framework &Native Service
  9. android 开发中遇到的问题汇总

随机推荐

  1. Android上 PeerConnection 与 PeerConnec
  2. eclipse如何进行真机调试
  3. 【Android】TypedArray和obtainStyledAtt
  4. android应用程序跳转到系统的各个设置页
  5. Android实现调用系统相册和拍照的Demo示
  6. Android Input事件APP端流程分析
  7. Android Studio运行慢-提速到10s,问你要不
  8. 疯狂android讲义学习总结---各种按钮的制
  9. android tab上显示数字(转)
  10. Android 窗帘(Curtain Menu)效果五之应用