Android系统的若干关键词大汇总

(点击上方的蓝色文字,可快速关注我们)


No1.Android系统层级架构


0

5依次:

应用层(Applications)应用apk,多java实现

框架层(Application Framework)提供给apkAPI(如传说的Android四大组件:ActivityBroadcast Intent ReceiverServiceContent Provider

核心库(Libraries)嵌入式“中间件”,多C++实现

运行环境层(Runtime)Dalvik虚拟机

Linux内核层(Linux Kernel)Linux2.6内核+移动设备驱动


No2.Android系统分区结构

常见的几大分区:

Boot LoaderBIOS”,初始化软硬件环境、加载硬件设备

BootAndroidboot镜像(Linux kernelinitrd…

Splash系统启动后第一屏显示内容(Logo、动画)

Radio基带、与通信质量相关驱动(电话、GPS、蓝牙、WiFi…

Recovery“WinPE”、系统修复镜像

System/systemAndroid系统镜像文件(FrameworkLibrariesBinaries、预装应用)

User Data/data,应用产生的图片、音频等数据

Cache缓存(恢复日志、QTA下载的更新包、Dalvik缓存文件夹


No3. Android系统启动过程


0
0

No4.ADB

ADBAndroid Debugging Bridge),分三部分,C/S架构,5037端口:

ADB ClientPC端运行,接收用户、工具的adb命令

ADB ServerPC端后台进程,用户Client与模拟器或真机的ADB守护进程通信

ADB Daemon模拟器或真机后台守护进程

No5.Zygote

Zygote(“受精卵”)Android所有应用的独立进程都来源于zygote的复制,是所有应用程序Dalvik虚拟机的构造器。


0

0
0

No6.进程间通信Binder机制

Binder基于Open Binder修改而来的IPC机制(不同于传统LinuxIPC:管道、共享内存、消息队列、socket

0

C/S架构,所有需要IBinder通信的进程实现IBinder接口,进程提供的服务向Service Manager注册,Service Manager守护进程负责调度:监听请求并分发处理。

No7.匿名共享内存机制Ashmem

Ashmem(Anonymous Shared Memory)/dev/ashmem,为用户空间程序提供分配内存的机制。基于内核提供的临时文件系统tmpfs实现,相对linux进行了更精细的管理,应用程序可动态将一块匿名共享内存划分为若干小块并在小块不需要使用时被内存管理回收,适应小内存移动设备。匿名共享内存由Ashmem驱动程序负责分配和管理,提供了C++/Java接口访问。使用文件描述符来描述一块匿名共享内存(非linux的整数(linux的整数只在进程空间生效)):可以方便映射到进程的地址空间;可用Binder进程间通信机制(BINDER_TYPE_FD)来传输文件描述符来实现共享。

0

No8.日志服务Logger

Logger的存在主要支持logcat查看日志缓冲区,分四类独立缓冲区:主缓冲区、广播缓冲区、事件缓冲区、系统缓冲区。


0


No9.APK编译过程


0

Zipalign:将签名后的apk文件进行对齐优化,最根本目的是帮助操作系统更高效率的根据请求索引资源,resource-handling code统一将Data structure alignment(数据结构对齐标准:DSA)限定为4-byte boundaries。方便处理器准确和快速的在内存地址中定位相关资源。

No10.Sandbox

Sandbox(沙箱)系统使用重定向技术将应用的所有操作都放到一个虚拟系统中运行。对Android来说就是每个apk进程隔离(每个程序都有唯一的AID)。

Android三类权限

1)API权限:

四级(normal-系统默认授予、dangerous-安装时声明、signature-仅对同签名app开放、signatureOrSystem-signature基础上增加ROM内嵌App声明)

2)文件权限:

三类用户(所有者、同组用户、其他用户),三类权限(r-文件只读、目录浏览,w-文件可写、目录可移动删除,x-文件可执行、目录可进入)

3)IPC权限:

进程间通信权限

No11.数字签名

数字签名优点:同签名才能覆盖安装、多个同签名应用运行在一个进程、互相共享数据和代码。

签名验证:/META-INF1)通过CERT.RSA查找公钥和算法;2)对CERT.SF解密和签名验证,确认MANIFEST.MF安全;3)通过MANIFEST.MF逐项校验安装包资源的签名 

No12.Android层级与安全措施

0


No13.AndroidManifest

AndroidManifest.xmlAndroid项目清单文件,作用:声明应用包名、版本号、component及运行在那个process下、应用需要的权限、自定义的权限、应用需要的Android API最低版本、需要的链接库、共享进程ID

No14.显/隐式Intent

显示Intent

开发者在代码中使用具体的类或包名的方式进行新建和注册,由ActivityManager来传递Intent

隐式Intent

开发者在AndroidManifest.xml中注册Intent-fillter,由System Service监听筛选Intent 

No15.四大组件

0

No16.Dalvik虚拟机

Dalvik虚拟机:

Google专门为Android平台设计的虚拟机,区别与java虚拟机JVM,使用DEX(Dalvik Executable)可执行文件格式和指令集代码。Dalvik来源于冰岛一个小渔村的名字。

Smali:

对Dalvik虚拟机字节码的一种解释,是对dex的反汇编输出。Samli来源于冰岛语中的“汇编器”

No17.SEAndroid

SEAndroid(SELinux in Android)SELinux(Security Enhanced Linux)安全增强版LinuxAndroid系统的移植,支持MAC模型。中心理念:即使Root权限被篡夺也能阻止恶意操作行为。

No18.Root

RootAndroid设备中获得超级用户



欢迎加入互联网架构师群,共同交流和学习!


长按下方的二维码即可快速进群!!!

640?wx_fmt=png


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值