Android开发需要哪些技术
2023-04-26 · 百度认证:重庆猪八戒网络有限公司官方账号
安卓开发需要学:
一、应用程序
Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类负责创建视窗,一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。
二、中介软件
操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(VirtualMachine)。Bionic是Android改良libc的版本。
Android同时包含了Webkit,所谓的Webkit就是AppleSafari浏览器背后的引擎。Surfaceflinger是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的BionicLibc。
三、硬件抽像层
Android的HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL
的目的是为了把Androidframework与Linuxkernel隔开。
让Android不至过度依赖Linux
kernel,以达成kernelindependent的概念,也让Androidframework
的开发能在不考量驱动程序实现的前提下进行发展。
四、编程语言
Android是运行于Linuxkernel之上,但并不是GNU/Linux。因为在一般GNU/Linux里支持的功能,Android大都没有支持。
包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。
五、安全控制
目前Android的Linuxkernel控制包括安全(Security),存储器管理(MemoryManagemeat),程序管理(ProcessManagement),网络堆栈(NetworkStack),驱动程序模型等。
下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo是Android用来辅助Git工作的一个工具。