IMountService.cpp的用途(binder)

在sourceinsight工程中搜索:mount

IMountService.cpp的用途(binder)_第1张图片

仔细察看,发现只是变异出来静态库。

IMountService.cpp的用途(binder)_第2张图片

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

 

LOCAL_SRC_FILES:= \

 IMountServiceListener.cpp \

 IMountShutdownObserver.cpp \

 IObbActionListener.cpp \

 IMountService.cpp

 

LOCAL_MODULE:= libstorage

 

include $(BUILD_STATIC_LIBRARY)

这个让我很失望,但是让我也很惊喜。没有做什实际动作,只是提供了库。这个库最终在

IMountService.cpp的用途(binder)_第3张图片

对的,就是这样。

然后看看,storage_manager.cpp:

IMountService.cpp的用途(binder)_第4张图片

BASE_PATH := $(call my-dir)

LOCAL_PATH:= $(call my-dir)

 

include $(CLEAR_VARS)

 

# our source files

#

LOCAL_SRC_FILES:= \

    asset_manager.cpp \

    configuration.cpp \

    input.cpp \

    looper.cpp \

    native_activity.cpp \

    native_window.cpp \

    obb.cpp \

    sensor.cpp \

    storage_manager.cpp

 

LOCAL_SHARED_LIBRARIES := \

    liblog \

    libcutils \

    libandroidfw \

    libinput \

    libutils \

    libbinder \

    libui \

    libgui \

    libandroid_runtime

 

LOCAL_STATIC_LIBRARIES := \

    libstorage

 

LOCAL_C_INCLUDES += \

    $(TVOS_TOPDIR)/frameworks/base/native/include \

    $(TVOS_TOPDIR)/frameworks/base/core/jni/android

 

LOCAL_MODULE:= libandroid

 

include $(BUILD_SHARED_LIBRARY)

相当失望啊,竟然没有实际操作一下。更失望的在下面,居然只是为了编译NDK的库。

但是阅读源码我们知道,它没有那么简单。

IMountService.cpp的用途(binder)_第5张图片

对的,还是这个套路:

IMountService.cpp的用途(binder)_第6张图片

直接C++到java层的Binder转换。

https://developer.android.google.cn/ndk/reference/?hl=zh-cn,参考这个比较靠普。

你可能感兴趣的:(系统分析,Binder)