在sourceinsight工程中搜索:mount
仔细察看,发现只是变异出来静态库。
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)
这个让我很失望,但是让我也很惊喜。没有做什实际动作,只是提供了库。这个库最终在
对的,就是这样。
然后看看,storage_manager.cpp:
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的库。
但是阅读源码我们知道,它没有那么简单。
对的,还是这个套路:
直接C++到java层的Binder转换。
https://developer.android.google.cn/ndk/reference/?hl=zh-cn,参考这个比较靠普。