【发布时间】:2012-04-18 15:35:22
【问题描述】:
我有一个项目组织如下:
project/jni/Android.mk
project/jni/libA/Android.mk
project/jni/libB/Android.mk
project/lib/armeabi/libA.so
project/lib/armeabi/libB.so
我的 libA 和 libB 在我的主 Android.mk 上设置为预构建库,因为我不希望每次构建我的主 Android.mk 时都构建它们。这是我所拥有的:
LOCAL_PATH := $(call my-dir)
###########################################
# Declare the prebuilt A library
###########################################
include $(CLEAR_VARS)
LOCAL_MODULE := A-prebuilt
LOCAL_SRC_FILES := ../lib/$(TARGET_ARCH_ABI)/libA.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/libA
include $(PREBUILT_SHARED_LIBRARY)
###########################################
# Declare the prebuilt B library
###########################################
include $(CLEAR_VARS)
LOCAL_MODULE := B-prebuilt
LOCAL_SRC_FILES := ../lib/$(TARGET_ARCH_ABI)/libB.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/libB/include
include $(PREBUILT_SHARED_LIBRARY)
###########################################
# Declare our main module
###########################################
include $(CLEAR_VARS)
LOCAL_MODULE := libjnimain
LOCAL_SRC_FILES := \
main.c
# for logging
LOCAL_LDLIBS += -llog
# include the prebuilt libraries
LOCAL_SHARED_LIBRARIES := \
A-prebuilt \
B-prebuilt
#This will include all Android.mk files in sub-directories
#of the current build file's path.
include $(call all-subdir-makefiles)
include $(BUILD_SHARED_LIBRARY)
我遇到的主要问题是构建预构建库。我似乎无法通过调用他们的 Android.mk 来构建 libA 或 libB,因为当我调用主 Android.mk 时。任何帮助将不胜感激。
【问题讨论】:
标签: android-ndk