安卓面试总结---教程
对Android底层有一定的认识,研究过相关的Android源码
我将从以下几方面简单说明:
{{{{{{----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一、系统架构:
一)、系统分层:(由下向上)【如图】
1、安卓系统分为四层,分别是Linux内核层、Libraries层、FrameWork层,以及Applications层;
其中Linux内核层包含了Linux内核和各种驱动;
Libraries层包含各种类库(动态库(也叫共享库)、android运行时库、Dalvik虚拟机),编程语言主要为C或C++
FrameWork层大部分使用java语言编写,是android平台上Java世界的基石
Applications层是应用层,我们在这一层进行开发,使用java语音编写
2、Dalvik VM和传统JVM的区别:
传统的JVM:编写.java文件 ? 编译为.class文件 ? 打包成.jar文件
Dalvik VM: 编写.java文件 ? 编译为.class文件 ? 打包成.dex文件 ? 打包成.apk文件(通过dx工具)
将所有的类整合到一个文件中,提高了效率。更适合在手机上运行
1、Linux内核层[LINUX KERNEL]:
包含Linux内核和驱动模块(比如USB、Camera、蓝牙等)。
Android2.2(代号Froyo)基于Linux内核2.6版本。
2、Libraries层[LIBRARIES]:
这一层提供动态库(也叫共享库)、android运行时库、Dalvik虚拟机等。
编程语言主要为C或C++,所以可以简单的看成Native层。
3、FrameWork层[APPLICATION FRAMEWORK]:
这一层大部分用java语言编写,它是android平台上Java世界的基石。
4、Applications层[APPLICATION]:应用层
如图所示:
系统分层的图整体简化为下面的一张图,对应如下:
FrameWork层 --------? Java世界
Libraries层 --------? Native世界
Linux内核层 --------? Linux OS
Java世界和Native世界间的通信是通过JNI层
JNI层和Native世界都可以直接调用系统底层
}}}}}}----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二)、系统编译:
1、主要步骤:系统环境的准备,下载源码、编译源码、输出结果:
目前系统的编译环境只支持Ubuntu 以及 Mac OS 两种操作系统,磁盘的控件要足够大
在下载源码的时候,由于Android源码使用Git进行管??,需要下载一些工具,如apt-get install git-core curl
源码下载好后,进行编译:首先搭建环境,部署JDK(不同的源码编译时需要的JDK版本不同,如2.2需要JDK5,2.3需要1.6),
然后设置编译环境:使用. build/envsetup.sh脚本;选择编译目标(可以根据自己需要的版本进行不同的搭配)
最后通过make –j4的命令进行编译。(make是编译的函数即命令,j4指的是cpu处理器的核数:单核的是j4 x i;双核的是j8)
最后将编译好的结果进行输出:所有的编译产物都位于 /out 目录下
2、编译流程图
系统的启动:
{{{{{{----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
通过Linux内核将Linux系统中用户空间的第一个进程init启动起来,这是安卓世界第一个被启动的进程;
然后在init中会加载init.rc的配置文件,并开启系统的守护进程(守护media(多媒
您可能关注的文档
- 宁波市事业单位综合基础知识习题集二教程.docx
- 学生选课管理系统的数据库设计教程.doc
- 宁波大学2012数字电子技术1试题B卷2和答案教程.doc
- 宁夏银川一中2016届高三第三次模拟考试理科综合试题教程.doc
- 安1安全生产管理1教程.doc
- 安保部规章制度教程.doc
- 宁波地铁4号线大卿桥站模板工程及支撑体系专项施工方案教程.doc
- 安全100题教程.doc
- 宇龙数控仿真教程.doc
- 安全、文明施工、消防及度汛保证措施教程.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- (苏教版)数学五年级上册寒假“天天练”作业设计,含30份题组,附参考答案.doc
- 有限空间作业注意事项.pptx VIP
- 从明代土地产权制度弊端剖析古代土地制度的困境与启示.docx
- 工贸企业常见安全生产隐患诊断检查指导书.pdf VIP
- 麓山景区2006-2020详细规划.doc VIP
- 《地基与基础培训》课件.ppt VIP
- 2026年村卫生室基本公共卫生服务工作计划.docx VIP
- 阿姆斯壮Armstrong--THE BRAIN® DMC80再循环水温控制样本.pdf
- 《地下工程建设疏干排水水资源论证导则》.pdf VIP
- GB 17167-2025用能单位能源计量器具配备和管理通则.pdf
原创力文档

文档评论(0)