10大优享服务
62项会员特权

浅谈安卓软件开发应该要了解的两个基本概念

发布时间:2021-12-01 08:53:45     阅读次数:12184次     评论数:0次

 安卓软件开发作为目前安卓系统火热发展的一个产物,其需求量随着安卓系统的不断成熟发展也变得越来越大,这点相信大家是有目共睹的。对于很多的开发新人来说,其实对于一些基本概念的了解能够帮助我们更好地做好开发的工作,今天小编带大家来看两个比较基础的概念,希望大家可以好好地了解一下。

浅谈安卓软件开发应该要了解的两个基本概念

 Android 一词的本义指“机器人”,是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的优秀移动软件。但有的安卓系统不一定能安装Java软件。

 安卓软件开发中的硬件抽像层

 Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 kernel independent 的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展。  HAL stub 是一种代理人(proxy)的概念,stub 是以 *.so 档的形式存在。Stub 向 HAL“提供”操作函数(operations),并由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 这些操作函数。HAL 里包含了许多的 stub(代理人)。Runtime 只要说明“类型”,即 module ID,就可以取得操作函数。

 安卓软件开发的编程语言

 Android 是运行于 Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 userspace,使得Linux driver 与 Linux kernel彻底分开。bionic/libc/kernel/ 并非标准的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所产生的,这样做是为了保留常数、数据结构与宏。 目前Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。

 上述的这些分享的内容就是小编今天要给大家介绍的,希望大家看完之后能够对于安卓软件开发有一个更好的理解,同时也欢迎您通过一品威客网来寻找相关的任务来实践一下,我们的网站上有很多的安卓软件开发的任务,大家可以多上去检索一下看看,说不定有意外的惊喜哦。

本文地址:
来源:一品威客,转载须经版权人书面授权并注明来源

留言(0

↓展开留言

该攻略尚无留言记录