我正在努力通过NDK项目将共享对象文件包含到Android OS映像中。
android.mk文件看起来像这样
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Myaccessories
LOCAL_SRC_FILES := libMyaccessories.so
include $(PREBUILT_SHARED_LIBRARY)
我已将“libMyaccessories.so”添加到android.mk所在的jni文件夹中。在ndk-built上,它会导致错误,如下所示
Prebuilt : libMyaccessories.so <= jni/
Install : libMyaccessories.so => libs/armeabi/libMyaccessories.so
/home/Identive/Desktop/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-strip: Unable to recognise the format of the input file `./libs/armeabi/libMyaccessories.so'
make: *** [libs/armeabi/libMyaccessories.so] Error 1
我该如何解决这个问题?
答案 0 :(得分:0)
只需将.so文件放在libs / armeabi /子目录中,它就会自动包含在构建中。不要在LOCAL_SRC_FILES中提及它,因为它不是源文件。
如果从本机代码而不仅仅是Java代码引用该库,您可能需要在LOCAL_LDLIBS中列出它,但如果这不是默认值,我会非常惊讶。