Android 各层调用的方式

  所有的android的app启动都有三种深入启动的方式:

  ①app——Runtime Service——Lib

  这种启动方式是:

  Ⅰapp程序中启动application framework 层中Runtime Service 

  ⅡRuntime Service通过jni调用Libray层中的Native Binding

  ⅢNative Binding通过动态加载的方式来调用HAL Library层的东西

  ⅣHAL Library再调用Linux Kernel的东西 相应示意图如下:

  ②app——Runtime Service——Native Service——Lib

  Ⅰapp调用application frame work 中的runtime service

  Ⅱruntime service 通过jni机制来调用natvie service binding 

  Ⅲnative service binding 通过远程的IPC机制来调用native  service

  ⅣNative Service通过动态加载的方式来调用HAL Library层的东西

  ⅤHAL Library再调用Linux Kernel的东西 相应的示意图如下:

  

  ③app——Runtime Service——Native Deamon——Lib

  

  Ⅰapp调用application frame work 中的runtime service

  Ⅱruntime service 通过jni机制来调用natvie service binding 

  Ⅲnative service binding 通过socket机制调用native  deamon 进程

  Ⅳnative  deamon 进程通过动态加载的方式来调用HAL Library层的东西

  ⅤHAL Library再调用Linux Kernel的东西 相应的示意图如下:

  这就是app在android各层中调用理解三种形式。

原文地址:https://www.cnblogs.com/manuosex/p/3654115.html