添加第三方lib主要修改两个地方:
预编译第三方lib进out目录供系统链接:
1.将第三方lib和对应头文件放到android目录,eg:marshmallow-mstar-master-1\device\mstar\mangosteen\libraries\audio
lib
lib64
libtvservice
Android.mk
2. 修改Android.mk
64/32 both:
LOCAL_PATH := $(call my-dir)
## libskytvclient.so
## ==============================================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libskytvclient
LOCAL_MULTILIB := both
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
LOCAL_SRC_FILES_arm := lib/$(LOCAL_MODULE)$(TARGET_SHLIB_SUFFIX)
LOCAL_SRC_FILES_arm64 := lib64/$(LOCAL_MODULE)$(TARGET_SHLIB_SUFFIX)
include $(BUILD_PREBUILT)
32 only:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libsample32
LOCAL_MULTILIB := 32
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
LOCAL_SRC_FILES := $(LOCAL_MODULE)$(TARGET_SHLIB_SUFFIX)
include $(BUILD_PREBUILT)
64 only:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libsample64
LOCAL_MULTILIB := 64
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
LOCAL_SRC_FILES := $(LOCAL_MODULE)$(TARGET_SHLIB_SUFFIX)
include $(BUILD_PREBUILT)
jar:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sample
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX)
LOCAL_SRC_FILES := $(LOCAL_MODULE)$(COMMON_JAVA_PACKAGE_SUFFIX)
LOCAL_BUILT_MODULE_STEM := javalib.jar
include $(BUILD_PREBUILT)
first:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libsample
LOCAL_MULTILIB := first
LOCAL_SRC_FILES := sample.cpp
LOCAL_C_INCLUDES :=
LOCAL_CFLAGS :=
LOCAL_SHARED_LIBRARIES := liblog
include $(BUILD_SHARED_LIBRARY)
系统调用时link第三方lib以及include头文件:
直接在android.mk修改即可