
libopencv_java.so太大了,大约7M.显然,我只需要几个库.
我检查OpenCV4AndroID中的libs,找出一些静态库,比如libopencv_core.a
这是我在AndroID.mk中的新代码,包含必要的OpenCV库.我包括libopencv_core.a,libopencv_highgui.a,libopencv_imgproc.a和一些第三方库,它们是:liblibjasper.a,liblibjpeg.a,liblibpng.a,liblibtiff.a
include $(CLEAR_VARS)LOCAL_MODulE := libopencv_highgui_prebuiltLOCAL_SRC_fileS := libopencv_highgui.aLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/OpenCV242AndroIDSDKNativeJNI/includeinclude $(PREBUILT_STATIC_liBRARY)include $(CLEAR_VARS)LOCAL_MODulE := libopencv_imgproc_prebuiltLOCAL_SRC_fileS := libopencv_imgproc.aLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/OpenCV242AndroIDSDKNativeJNI/includeinclude $(PREBUILT_STATIC_liBRARY)include $(CLEAR_VARS)LOCAL_MODulE := libopencv_core_prebuiltLOCAL_SRC_fileS := libopencv_core.aLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/OpenCV242AndroIDSDKNativeJNI/includeinclude $(PREBUILT_STATIC_liBRARY)include $(CLEAR_VARS)LOCAL_MODulE := liblibjpeg_prebuiltLOCAL_SRC_fileS := liblibjpeg.aLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/OpenCV242AndroIDSDKNativeJNI/includeinclude $(PREBUILT_STATIC_liBRARY)include $(CLEAR_VARS)LOCAL_MODulE := liblibpng_prebuiltLOCAL_SRC_fileS := liblibpng.aLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/OpenCV242AndroIDSDKNativeJNI/includeinclude $(PREBUILT_STATIC_liBRARY)include $(CLEAR_VARS)LOCAL_MODulE := liblibtiff_prebuiltLOCAL_SRC_fileS := liblibtiff.aLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/OpenCV242AndroIDSDKNativeJNI/includeinclude $(PREBUILT_STATIC_liBRARY)include $(CLEAR_VARS)LOCAL_MODulE := liblibjasper_prebuiltLOCAL_SRC_fileS := liblibjasper.aLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/OpenCV242AndroIDSDKNativeJNI/includeinclude $(PREBUILT_STATIC_liBRARY)include $(CLEAR_VARS)LOCAL_MODulE := native_jniLOCAL_SRC_fileS := jni_part.cppLOCAL_CFLAGS += -fpermissiveLOCAL_STATIC_liBRARIES += libopencv_highgui_prebuiltLOCAL_STATIC_liBRARIES += libopencv_imgproc_prebuiltLOCAL_STATIC_liBRARIES += libopencv_core_prebuiltLOCAL_STATIC_liBRARIES += liblibjpeg_prebuiltLOCAL_STATIC_liBRARIES += liblibpng_prebuiltLOCAL_STATIC_liBRARIES += liblibtiff_prebuiltLOCAL_STATIC_liBRARIES += liblibjasper_prebuiltLOCAL_LDliBS += -llog -ldlLOCAL_LDliBS += -ljnigraphicsLOCAL_LDliBS += -lzinclude $(BUILD_SHARED_liBRARY)
但它没有经过编译.一个长错误列表,所有与断言相关的失败:
/usr/src/androID-ndk-r8b/toolchains/arm-linux-androIDeabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androIDeabi/4.6.x-Google/../../../../arm-linux-androIDeabi/bin/ld: BFD (GNU Binutils) 2.21 assertion fail /usr/local/Google/home/andrewhsIEh/ndk-andrewhsIEh/src/build/../binutils/binutils-2.21/bfd/elf32-arm.c:10190Install : libnative_jni.so => libs/armeabi-v7a/libnative_jni.so/usr/src/androID-ndk-r8b/toolchains/arm-linux-androIDeabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androIDeabi/4.6.x-Google/../../../../arm-linux-androIDeabi/bin/ld: BFD (GNU Binutils) 2.21 assertion fail /usr/local/Google/home/andrewhsIEh/ndk-andrewhsIEh/src/build/../binutils/binutils-2.21/bfd/elf32-arm.c:10190
我也试图改变这些静态库的顺序;但它不起作用.
有什么建议吗?
以上是内存溢出为你收集整理的如何在Android中仅包含必要的OpenCV库?全部内容,希望文章能够帮你解决如何在Android中仅包含必要的OpenCV库?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)