私はいくつかの.aファイルを所有しており、ndk-buildを使って.soを生成したいと考えています。.aを.soに生成する方法
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := nonfree
LOCAL_MODULE += opencv_java3
LOCAL_SRC_FILES := \
libopencv_aruco.a \
libopencv_bgsegm.a \
libopencv_bioinspired.a \
libopencv_calib3d.a \
libopencv_ccalib.a \
libopencv_core.a \
libopencv_datasets.a \
libopencv_dnn.a \
libopencv_dpm.a \
libopencv_face.a \
libopencv_features2d.a \
libopencv_flann.a \
libopencv_fuzzy.a \
libopencv_highgui.a \
libopencv_imgcodecs.a \
libopencv_imgproc.a \
libopencv_line_descriptor.a \
libopencv_ml.a \
libopencv_objdetect.a \
libopencv_optflow.a \
libopencv_photo.a \
libopencv_plot.a \
libopencv_reg.a \
libopencv_rgbd.a \
libopencv_saliency.a \
libopencv_shape.a \
libopencv_stereo.a \
libopencv_stitching.a \
libopencv_structured_light.a \
libopencv_superres.a \
libopencv_surface_matching.a \
libopencv_text.a \
libopencv_tracking.a \
libopencv_ts.a \
libopencv_video.a \
libopencv_videoio.a \
libopencv_videostab.a \
libopencv_xfeatures2d.a \
libopencv_ximgproc.a \
libopencv_xobjdetect.a \
libopencv_xphoto.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_STATIC_LIBRARY)
これらstepsを使用NDKビルドを使用します。
これは私にこのエラーを返すの.so生成しよう:
C:\Android\sdk\ndk-bundle\build\ndk-build.cmd clean Android NDK: LOCAL_MODULE definition in jni/Android.mk must not contain space
C:/Android/sdk/ndk-bundle/build//../build/core/build-shared-library.mk:23: *** Android NDK: Please correct error. Aborting . Stop.Process finished with exit code 2
なぜ共有ライブラリを構築しようとしているのですが、 'PREBUILT_STATIC_LIBRARY'を使用していますか? – Michael
おっと、私のエラー...私はSHAREDに変更しましたが、SURFを使うためにlib opencv 3.1をどのように生成するかについてはまだ疑問があります。私はステップバイステップで、cmakコマンドでgithubコマンドを実行するだけで、この巨大なリスト ".a"を生成し、単一の ".so"に参加したいと考えています。 contrib SURFでこのlibを生成する方が簡単で正しいかどうかわかりません。 – VTR2015