Android主要可以分为四层架构:Linux内核层,系统运行层,应用框架层和应用层。

1.Linux内核层

Android系统是基于Linux内核开发的,为Android设备的各种硬件提供底层驱动,如显示驱动,声音驱动,电源管理,相机驱动等。

2.系统运行库层

系统运行库层通过一些C/C++库来为Android实现支持SQLite库提供数据库,OpenGUI|ES库提供3D绘图的支持,Webkit库提供浏览器内核支持等

另外在Android运行库中允许开发者使用Java语言来编写Android应用,以及内置虚拟机使得每一个应用程序都可以独立运行。

3.应用框架层

应用框架层提供了构建应用程序所用到的API。开发者通过应用框架层中的API开发Android应用程序。

4.应用层

应用层包括安装在你手机中的应用程序,以及手机自带的相机,短信等软件。

Android应用开发特色

1.四大组件

Android系统四大组件分别是活动(Activity),服务(Service),广播接收器(Broadcast Receiver),内容提供器(Content Provider)

活动:Android应用程序中你能够直观的感受到的部分,如UI等都是放在活动当中。

服务:你无法看到,但会在后台默默运行,即使隐藏,退出了应用。

广播接收器:运行你接收来自设备外的信息数据,如电话,短信;同时你的应用也可以向外发送广播。

内容提供器:为不同应用将实现数据的共享,如调用图库的图片,获取其他应用程序的权限信息。

2.丰富的系统控件

实现应用程序UI界面

3.SQLite数据库

提供轻量级,运算速度极快的嵌入式关系型数据库。与Android封装好API进行操作,让数据存储,读取变得简单。

4.强大的多媒体

提供声音,视频,录音,拍照等媒体功能。

5.地理位置定位

内置GPS,以及加速度等诸多传感器。

Android系统的系统运行库层,Android系统框架相关推荐

  1. 安卓学习日记(一):了解安卓架构(linux内核层、系统运行库层、应用框架层、应用层)

    首先为了理解安卓系统是怎么工作的,就先来看一下android的系统架构,其架构大至可以分为四层:linux内核层.系统运行库层.应用框架层和应用层,那就先说说这几层. 1.linux内核层: Andr ...

  2. Android系统运行库分为,Android系统架构

    Android系统架构可分为五层,从上到下依次是应用层.应用框架层.系统运行时库层.硬件抽象层和Linux内核层 应用层 (System Apps) 系统内置的应用程序以及非系统级应用程序都属于应用层 ...

  3. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝 Android 平台可执行文件和动态库到 /data/system )

    文章目录 一.运行环境搭建 Android 模拟器安装 二.拷贝 Android 平台可执行文件和动态库到 /data/system 目录下 一.运行环境搭建 Android 模拟器安装 使用低版本的 ...

  4. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 命令行中获取要调试的应用进程的 PID | 进程注入调试进程内存的 so 库 )

    文章目录 一.Android 命令行中获取要调试的应用进程的 PID 二.进程注入调试进程内存的 so 库 一.Android 命令行中获取要调试的应用进程的 PID 前置博客 [Android 逆向 ...

  5. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( 使用 IDA 分析要修改的内存特征 | 根据内存特征搜索修改点 | 修改进程内存 )

    文章目录 一.使用 IDA 分析要修改的内存特征 二.根据内存特征搜索修改点 三.修改进程内存 一.使用 IDA 分析要修改的内存特征 在前的博客 [Android 逆向]逆向修改游戏应用 ( 分析应 ...

  6. pycharm:无法加载文件activate.ps1,因为在此系统上禁止运行脚本,Windows10系统

    virtualenv无法加载文件activate.ps1,因为在此系统上禁止运行脚本,Windows10系统 pycharm编译运行Python代码时候报错,原因是Windows新的权限执行策略改变. ...

  7. android架构中最底层是什么层,Android体系架构

    Android开发入门教程一丶了解手机通讯技术发展史1.第一代通讯技术 第一代通讯技术,简单来说就是大哥大. 其原理是通过 模拟信号进行传输 1.说话的时候产生声波震动 2.声波震动会让大哥大中的铜片 ...

  8. android 切换排列,在运行时重新排序android线性布局?

    我有一个水平线性布局作为我的布局文件中的根元素.线性布局包含两个相对布局,每个布局都有几个子元素.我怎样才能交换这两个相对布局的位置?在运行时重新排序android线性布局? 我试图 ViewGrou ...

  9. 错误 程序包android.app不存在,运行.app时Android Studio获取包名称错误

    运行.app时Android Studio获取包名称错误 我将程序包名称从com.mycompany.myapplication更改为com.mycompany.testapp. 一切都构建良好,但是 ...

最新文章

  1. 深度学习最新方法:随机加权平均,击败了当前最先进的Snapshot Ensembling
  2. Spring Boot Starters启动器
  3. 中国产业园区发展动态及前景趋势规划建议报告2022-2028年版
  4. PHP 一个比较完善的文件上传(转).
  5. [Web开发] IE8 网页开发参考文档
  6. Clojure 学习入门(3)- 数字类型
  7. 拓端tecdat|R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归
  8. lcd1602c语言编程原理,简述lcd1602工作原理 lcd1602显示原理
  9. 元旦大礼,JavaScript第四版红宝书送20本!
  10. 网络营销:如何进行H5活动宣传?
  11. 穿越时空的爱恋-Z80 CPU的前世今生
  12. JAVA学习资源种子
  13. 视频压缩编码参考软件代码入门
  14. 【短视频 】 分享几个免费剪辑视频的软件
  15. mobiscroll插件滑动时间选择效果
  16. gif怎么转换html,gif如何转换成视频 gif转视频软件
  17. UG曲面造型——手机壳
  18. 程序员不得不知道的 API 接口常识
  19. 2000年数模B题 钢管订购和运输
  20. 嵌入式linux指令

热门文章

  1. 导致Android手机崩溃的壁纸,三星正在研究修复壁纸导致手机崩溃的怪异 Android bug...
  2. 2017-2018-1 现代偏微分方程导论
  3. 一起读论文 | 文本分类任务的BERT微调方法论
  4. 洛谷 P4246 [SHOI2008]堵塞的交通 线段树
  5. 域名被微信/QQ红了(被封锁、被屏蔽、被和谐)后最好的解决方法
  6. 如何使用思维导图做计划?这样绘制思维导图的方法你使用过吗?
  7. 暑假训练 The Triangle Game (OpenJ_Bailian - 1574)
  8. Vue的引入方式,属性和计数器案例
  9. ADF7901BRUZ ASK/FSK发射器 ISM频段
  10. SQL基础-联接(join)