zoukankan      html  css  js  c++  java
  • 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世界都可以直接调用系统底层

  • 相关阅读:
    实战(三):对游戏的破解“木叶忍者”
    实战(一):对“钉钉”的逆向(实现打卡功能)
    实战(二):对“微信”的逆向(实现界面自定义)
    iOS签名机制
    AM64汇编
    动态调试(二)
    动态调试(一)
    theos(二)
    murmurhash
    虚继承
  • 原文地址:https://www.cnblogs.com/mylanlan-802888/p/4324897.html
Copyright © 2011-2022 走看看