【发布时间】:2016-01-03 22:41:59
【问题描述】:
我想在我的 Android Studio 中的 Java 代码中包含来自 DetectText 的现有 c++ 文件。
通常(在 Linux 中),我通过命令运行它
./TextDetection input_file output_file dark_on_light.
我已经用 NDK 编译它以获得一个 SWT.a 文件:
LOCAL_PATH := $(call my-dir)
# static library info
include $(CLEAR_VARS)
LOCAL_MODULE := opencv_core
LOCAL_SRC_FILES := opencv/lib/libopencv_core.a
include $(PREBUILT_STATIC_LIBRARY)
# static library info
include $(CLEAR_VARS)
LOCAL_MODULE := opencv_opencv_highgui
LOCAL_SRC_FILES := opencv/lib/libopencv_highgui.a
include $(PREBUILT_STATIC_LIBRARY)
# static library info
include $(CLEAR_VARS)
LOCAL_MODULE := opencv_imgproc
LOCAL_SRC_FILES := opencv/lib/libopencv_imgproc.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := SWT
LOCAL_C_INCLUDES := jni/opencv/include/
LOCAL_C_INCLUDES += jni/boost/include/boost-1_53
LOCAL_SRC_FILES := FeaturesMain.cpp \
TextDetection.cpp
include $(BUILD_STATIC_LIBRARY)
但现在我需要实现包装器,我有点迷茫。我只想从 Java 部分调用 main 方法(调用另一个方法等)
我需要将所有方法名称更改为 Java_com_example_hellojni_HelloJni_stringFromJNI 之类的名称还是只更改主要方法?
那么参数呢?
【问题讨论】:
-
您必须更具体地描述您的问题。 “它不起作用”可能意味着任何事情。
标签: android c++ android-studio java-native-interface android-sdk-tools