来自 编程 2019-10-02 16:59 的文章
当前位置: 澳门三合彩票 > 编程 > 正文

系统运行库--&gt,完全开放

网上资料已经一大堆了,咱们就从通俗易懂易理解的角度出发,好,开始!!!

<h5> Android大致可以分成四层架构,分别是Linux内核层、系统运行库层、应用框架层和应用层。

一、简介
Android是基于Linux平台的开源智能手机操作系统(Google为什么不另立门户请看这里),具有强大的灵活性,可以被移植到不同的硬件平台上(比如:手机、电视、机顶盒、嵌入式设备等),完全开放,上层的应用程序开发完全开放给第三方(应用开发以Java语言为主,C/C++语言只在特定情况下使用,比如:游戏的Cocos2D-X系列、加密算法、地图渲染引擎,视频播放器等)。Android系统层次结构如下图所示:

Android原始版本是由一个小团队开发,核心库用的Linux,运行库用的C/C++,应用层和应用框架层都用的JAVA,当时为了节省成本,全部采用开源框架,所以做出来的东西当然也是开源的。后来被google收购了,现在创始人已经被撵走了。

<h3>1.Linux内核层

澳门三合彩票 1

架构是这样的

Android系统基于Linux内核的,为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等

Paste_Image.png

澳门三合彩票 2Android架构

<h3>2.系统运行库层

从上图可以看出,Andriod系统自底向上分4层:

应用层-->应用框架层-->系统运行库-->Linux核心库

通过一些C/C++库来为Android系统提供了主要的特性支持,如SQLite库提供了数据库的支持,OpenGLES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等

这一层的还有Android运行时库,它只要提供了一下核心库能够允许开发者使用Java语言来编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(5.0系统之后改为ART运行环境,)它使得每一个Android应用都运行在独立的进程当中,并且拥有一个自己的Dalvik虚拟机实例。相较于Java虚拟机,Dalvik是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况做了优化处理。

(1)内核层
Linux内核和设备驱动,该层与设备相关,对开发者不开放。
(2)模块层
Linux库和Dalvid虚拟机,从Linux操作系统的角度来看,第2层是内核空间与用户空间的分界线,第1层运行于内核空间,第2、3、4层次运行于用户空间。
(3)应用框架层
Andriod应用管理框架和服务,管理每个Android应用的整个生命周期,从安装到运行到卸载。
(4)应用层
Android自带以及三方的应用程序,这里是码农们的角斗场,也即将是你的归宿。

应用层

首先,所有的应用都是在应用层的,也就是都用JAVA编写的,肉眼能看到的所有的程序,都在应用层。他的UI及相关控制都必须在一个叫Activity的超类上进行。

<h3>3.应用框架层

简单点说就是:Android的应用运行在Java虚拟机Dalvik之上,即java code->class->dex(Dalvik executable)。
当然Dalvik与Java虚拟机还是有区别的:
(1)Dalvik基于寄存器,而JVM基于栈。
(2)Dalvik虚拟机运行的是其专有的文件格式Dex,而Java虚拟机运行java字节码。
(3)Dex文件格式可以减少整体文件尺寸,提高I/O操作的类查找速度。
(4)每个APP对应一个独立的虚拟机实例,APP的每个线程对应一个Linux线程。
(5)有一个特殊的虚拟机进程Zygote,其是虚拟机实例的孵化器。它在系统启动的时候就会产生,如果系统需要一个新的虚拟机实例,它会迅速复制自身,以最快的数据提供给系统。对于一些只读的系统库,所有虚拟机实例都和Zygote共享一块内存区域。
二****、安装
1、开发环境
Android开发环境涉及的工具和开发包比较多,包括如下几个部分:
(1)JDK
点击这里下载JDK,JDK提供Java编译环境,新版本的JDK自动包含了JRE,所以不用单独下载JRE了,JRE提供Java运行环境。
(2)Eclipse
点击这里下载Eclipse,Eclipse是Java的IDE开发工具。
(3)Android SDK
点击这里下载Android SDK,Android SDK提供Android应用开发环境和工具。
(4)ADT
点击这里下载ADT,ADT是Eclipse的一个Android开发工具插件,Android的SDK需要配合ADT使用。在线更新ADT的地址是:https://dl-ssl.google.com/android/eclipse/。
(5)Android NDK
点击这里下载Android NDK,Android NDK提供Android本地C/C++开发环境和工具。
实际上,Andriod环境安装并不需要一一下载上面介绍的那些个工具包。Google是个好同学,它为我们打包了一个开发工具集合——ADT-BUNDLE集成包,里面包含了Eclipse、Android SDK、Android ADT,点击这里下载ADT-BUNDLE。
2、安装JDK
(1)安装JDK和JRE
点击这里下载JDK,安装JDK(jdk-7u45-windows-x64.exe),JDK安装完成之后会自动启动JRE的安装。
(2)JDK环境变量设置
选择我的电脑->右键->属性->高级系统设置->高级->环境变量->系统变量->新建,变量名是JAVA_HOME,变量值是jdk的安装路径(比如:C:Program FilesJavajdk1.7.0_45)。
(3)Path路径设置
设置Path路径,添加JDK和JRE的bin路径。需要注意的是:JRE存在两个,一个是JDK下面的,一个是单独安装的,这两个都可以使用,这里使用前者。设置Path路径时,可以引用前面设置的JAVA_HOME变量,引用方法是在JAVA_HOME变量名的前后添加%(比如:%JAVA_HOME%/bin;%JAVA_HOME%jre/bin)。选择我的电脑->右键->属性->高级系统设置->高级->环境变量->系统变量->Path->编辑,在变量值的最后面追加JDK和JRE的bin路径,路径之间用;分隔,即%JAVA_HOME%/bin;%JAVA_HOME%jre/bin。
澳门三合彩票,(4)测试Java环境是否安装成功
打开cmd窗口,输入java -version,如果显示JDK版本信息,则表示安装成功。
3、安装ADT-BUNDLE
(1)下载及安装
点击这里下载ADT-BUNDLE,直接解压ADT-BUNDLE(adt-bundle-windows-x86_64-20131030.zip)即可。 解压完成之后包含包含两个文件夹eclipse(Eclipse+ADT插件)、sdk(Android SDK)和一个程序SDK Manager.exe。
(2)设置环境变量
设置Android SDK的Path环境变量,方便一些工具命令的调用,设置步骤同JDK。添加sdk路径下的两个文件夹tools和platform-tools到Path环境变量(例如:D:adt-bundle-windows-x86_64-20131030sdktools;D:adt-bundle-windows-x86_64-20131030sdkplatform-tools)。
(3)启动开发工具
找到adt-bundle解压目录,双击eclipseeclipse.exe,启动开发工具。
Android SDK Manager负责SDK包的更新,adt-bundle自带的Android SDK都是最新的,当前是4.4,如果想使用4.4以前的版本呢,需要使用这个工具进行更新。在Eclipse中,通过选择Window->Android SDK Manager来打开。
AVD(Android Virtual Device)即Android运行的虚拟设备管理,可以通过AVD创建一个Android虚拟机进行程序调试。在Eclipse中,通过选择Window->Android Virtual Device Manager来打开,点击New按钮创建虚拟机(Name:虚拟机名、Device:选择模拟的设备机器分辨率、Target:选择虚拟机的SDK版本)。创建完虚拟机后,点击Start按钮启动虚拟机,虚拟机界面如下图所示:

本文由澳门三合彩票发布于编程,转载请注明出处:系统运行库--&gt,完全开放

关键词: