我有一个名为" ABC"需要打包一个名为" libxxx-jni.so"的jni共享库。所以源代码树如下所示:
ABC
+- Android.mk
+- java
+- res
+- jni
+- Android.mk
+- xxx.cpp
ABC app的Android.mk是:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PACKAGE_NAME := ABC
LOCAL_SRC_FILES := $(call all-java-files-under, java)
LOCAL_RESOURCE_DIR += \
$(LOCAL_PATH)/res
LOCAL_JNI_SHARED_LIBRARIES := libxxx-jni
include $(BUILD_PACKAGE)
# Also build sub-targets under this one: the shared library.
include $(call all-makefiles-under, $(LOCAL_PATH))
jni库xxx的Android.mk是:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libxxx-jni
LOCAL_SRC_FILES := xxx.cpp
LOCAL_SHARED_LIBRARIES := \
libutils \
libcutils
LOCAL_LDLIBS += -llog
LOCAL_C_INCLUDES += \
$(JNI_H_INCLUDE)
include $(BUILD_SHARED_LIBRARY)
我将这些源代码放在android aosp源代码树中,并使用android构建环境构建整个系统。
我的问题是我需要将libxxx-jni.so打包到我的设置apk中。目前,在构建完成后,我看到libxxx-jni.so位于/ system / lib。在APK的lib子文件夹中,我只看到了/system/lib/libxxx-jni.c的链接。
这不是我的期望。我想在我的APK的lib子文件夹中打包,而不仅仅是链接。而且我不想要libxxx-jni.so出现在/ system / lib中。
我没有使用IDE(eclipse或android studio),我只在aosp源代码树中使用Android.mk。
我应该如何修改这些Android.mk以满足我的期望?感谢。