Android操作系统的架构设计分析

元胞珊瑚
• 阅读 2093

 这篇文章主要介绍了Android操作系统的架构设计分析,Android系统架构分为Linux内核驱动、C/C ++框架、Java框架、Java应用程序,本文分别讲解了它的作用,需要的朋友可以参考下

  之前一直在Android应用层上做工作,最近开始研究Android平台上的东东了,主要是在Android Frameworks层和系统库层进行研究。以下是我自己的理解,领悟,希望与大家一块分享。

  Android系统架构分为Linux内核驱动、C/C ++框架、Java框架、Java应用程序。

  Android应用层:

  Android应用程序需要Java框架支持。主要是针对手机用户的。Android应用层都是由Java代码写的,运行在虚拟机中。虚拟机在Android平台中扮演着很重要的角色。虚拟机在执行Java类的过程中,如果Java类需要与C/C++组件沟通时,虚拟机会载入C/C++组件,然后让Java函数顺利的调用到C/C++组件的函数。Java与C/C++能通过标准的JNI界面相互沟通。

  注:Java类是在虚拟机上运行的,C/C++不是在虚拟机上执行的。那么如何加载C/C++组件函数的呢?

  答案是:通过System.loadLibrary(*.so的档案名);入口函数是JNI_OnLoad();

  Frameworks框架层(应用框架层):

  Java框架就是由C/C++库包装成为了一个JNI。简称Java Native Interface,即Java本地接口。在应用层和系统库层之间起了一个桥梁的作用。主要是针对手机开发商。

  C/C++框架(系统库):

  具体实现Java框架功能。Java域名交易框架中的native方法都是由C/C++来完成的。

  Android驱动底层(内核层):

  最后驱动硬件完成功能。

点赞
收藏
评论区
推荐文章
linbojue linbojue
1年前
android是前端还是后端重要呢?
Android是一个移动操作系统,可以运行在手机、平板电脑、智能手表等设备上。它是由Google开发的,基于Linux内核和Java编程语言构建。Android系统的架构可以分为四层:应用层、应用框架层、系统运行库层和Linux内核层。其中,应用层是最上层
刘望舒 刘望舒
4年前
Android系统启动流程(二)解析Zygote进程启动过程
上一篇文章我们分析了init进程的启动过程,启动过程中主要做了三件事,其中一件就是创建了Zygote进程,那么Zygote进程是什么,它做了哪些事呢?这篇文章会给你这些问题的答案。"tag:Android框架层Android系统启动categories:Android框架层本文首发于微信公众号「刘望舒」前言上一篇
刘望舒 刘望舒
4年前
Android深入四大组件(七)Android8.0 根Activity启动过程(后篇)
Android框架层Android深入四大组件categories:Android框架层本文首发于微信公众号「刘望舒」前言在几个月前我写了和这两篇文章,它们都是基于Android7.0,当我开始阅读Android8.0源码时发现应用程序(根Activity)启动过程照Android7.0有了一些变化,因此又写下了本篇文章,本篇文章照此前的文章不仅
刘望舒 刘望舒
4年前
Android深入四大组件(一)应用程序启动过程(前篇)
Android框架层Android深入四大组件categories:Android框架层本文首发于微信公众号「后厂技术官」前言在此前的文章中,我讲过了Android系统启动流程和Android应用进程启动过程,这一篇顺理成章来学习Android7.0的应用程序的启动过程。分析应用程序的启动过程其实就是分析根Activity的启动过程。<!more1
刘望舒 刘望舒
4年前
Android深入四大组件(六)Android8.0 根Activity启动过程(前篇)
Android框架层Android深入四大组件categories:Android框架层本文首发于微信公众号「刘望舒」前言在几个月前我写了和这两篇文章,它们都是基于Android7.0,当我开始阅读Android8.0源码时发现应用程序(根Activity)启动过程照Android7.0有了一些变化,因此又写下了本篇文章,本篇文章照此前的文章不仅
刘望舒 刘望舒
4年前
Android解析WindowManager(二)Window的属性
Android框架层Android系统服务WindowManagercategories:Android框架层本文首发于微信公众号「刘望舒」前言在上一篇文章我们学习了WindowManager体系,了解了Window和WindowManager之间的关系,这一篇我们接着来学习Window的属性。<!more1.概述上一篇文章中我们讲过了Window
刘望舒 刘望舒
4年前
Android深入四大组件(二)Service的启动过程
Android框架层Android深入四大组件categories:Android框架层本文首发于微信公众号「刘望舒」前言此前我用较长的篇幅来介绍Android应用程序的启动过程(根Activity的启动过程),这一篇我们接着来分析Service的启动过程。建议阅读此篇文章前,请先阅读和这两篇文章。<!more1.ContextImpl到Activi
Stella981 Stella981
3年前
Android起步
AndroidSQLite http://facebook.github.io/stethoAndroid系统架构Android大致可以分为四层架构,五块区域。1\.Linux内核层Android系统是基于Linux2.6内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动
Stella981 Stella981
3年前
Native层HIDL服务的获取原理
摘要:本节主要来讲解Android10.0Native层HIDL服务的获取原理阅读本文大约需要花费23分钟。文章首发微信公众号:IngresGe专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢!\Android取经之路\的源码都基于AndroidQ(10.0)进
Stella981 Stella981
3年前
Android SDK更新及安装
这篇文章主要介绍了Android在线更新SDK的方法,分别介绍了修改hosts文件使用谷歌官方镜像更新及使用国内镜像更新SDK的方法,非常简单实用,需要的朋友可以参考下本文讲述了Android使用国内镜像在线更新SDK的方法。分享给大家供大家参考,具体如下:什么是AndroidSDK:SDK:(softwaredevelopment
Stella981 Stella981
3年前
Android 服务器推送技术
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的时间对Android的推送通知服务进行初步的研究。在Android手机平台上,Google提供了C2DM(CloudtoDevi