如何包含许多共享库。所以要构建android apk
我想使用tow如何包含许多共享库。所以要构建android apk,android,eclipse,opencv,java-native-interface,Android,Eclipse,Opencv,Java Native Interface,我想使用towextern库来构建android应用程序,使用surf算法跟踪对象,所以我使用了本教程 第一个库是libobjtrack\u opencv\u jni.so(用于跟踪)和另两个库是libopencv\u java.so和libobjtrack\u opencv\u jni.so 我最终得到了这个结果: Android.mk: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := sift_preb
extern
库来构建android应用程序,使用surf算法跟踪对象,所以我使用了本教程
第一个库是libobjtrack\u opencv\u jni.so
(用于跟踪)和另两个库是libopencv\u java.so和libobjtrack\u opencv\u jni.so
我最终得到了这个结果:
Android.mk:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sift_prebuilt
LOCAL_SRC_FILES := libnonfree.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := opencv_java_prebuilt
LOCAL_SRC_FILES := libopencv_java.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := objtrack_opencv_jni
LOCAL_SRC_FILES := libobjtrack_opencv_jni.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
OPENCV_LIB_TYPE := STATIC
OPENCV_INSTALL_MODULES:=on
OPENCV_CAMERA_MODULES:=off
include C:/OpenCV-2.4.5-android-sdk/sdk/native/jni/OpenCV.mk
LOCAL_C_INCLUDES:= C:/OpenCV-2.4.5-android-sdk/sdk/native/jni/include
LOCAL_MODULE := test_sift12
LOCAL_CFLAGS := -Werror -O3 -ffast-math
LOCAL_LDLIBS += -llog -ldl
LOCAL_SHARED_LIBRARIES := sift_prebuilt opencv_java_prebuilt objtrack_opencv_jni
LOCAL_SRC_FILES := test_sift.cpp
include $(BUILD_SHARED_LIBRARY)
构建成功,我得到了测试\u sift12。因此
但在运行.apk
时不起作用。。我认为问题在于在android.mk
文件中使用prebuild\u SHARED\u LIBRARY
。
我需要您的帮助加载库,您希望在活动中使用这些库 像这样
public class YourClassName extends Activity {
.....
//add the following code at the end of the class
static
{
System.loadlibrary("opencv_java");
System.loadlibrary("objtrack_opencv_jni");
System.loadlibrary("nonfree");
System.loadlibrary("test_sift12");
}
}
我建议你改变你的名字如下
LOCAL_MODULE := sift_prebuilt
到
及
到
记住不要忘记修改本地共享库中的名称
LOCAL_MODULE := nonfree
LOCAL_MODULE := opencv_java_prebuilt
LOCAL_MODULE := opencv_java