系统预编译内置so库
1.系统预编译->内置so库
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libaPath
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
LOCAL_MODULE_SO = libaPath.so
LOCAL_SRC_FILES := $(LOCAL_MODULE_SO)
OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
LOCAL_MODULE_SUFFIX := .so
LOCAL_MULTILIB := both
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
include $(BUILD_PREBUILT)
2.系统预编译->内置so库
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_TARGET_CPU_ABI := $(TARGET_CPU_ABI)
LOCAL_MULTILIB := 32
ifeq ($(TARGET_CPU_ABI), arm64-v8a)
LOCAL_MULTILIB := 64
else
ifeq ($(TARGET_CPU_ABI), armeabi-v7a)
LOCAL_TARGET_CPU_ABI := armeabi
endif
endif
LOCAL_PREBUILT_LIBS := /$(LOCAL_TARGET_CPU_ABI)/libType.so \
OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
LOCAL_MODULE_SUFFIX := .so
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_PRIVILEGED_MODULE := true
include $(BUILD_MULTI_PREBUILT)
3.device.mk:
PRODUCT_PACKAGES += libaPath
4.c库用以下方案
#1.预编译第三方库liba.so
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := liba
LOCAL_MODULE_TAGS := optional
#所属的类是动态库
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
LOCAL_SRC_FILES_arm:= arm64-v8a/liba.so
LOCAL_SRC_FILES_arm64:= armeabi-v7a/liba.so
#32位、64位两者都编译
LOCAL_MULTILIB := both
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := libmain
#LOCAL_SRC_FILES := main.c
LOCAL_C_INCLUDES := $(LOCAL_PATH)
#链接上面预编译的共享库
LOCAL_SHARED_LIBRARIES := liba
include $(BUILD_SHARED_LIBRARY)