Entry นี้ เขียนขึ้นเพื่อใช้เองอีกแล้วครับ
แปลจาก http://opencv.itseez.com/doc/tutorials/introduction/android_binary_package/android_binary_package_using_with_NDK.html#android-binary-package-with-ndk
1. คลิ้กขวาที่โปรเจคในช่อง Project Explorer แล้วเลือก Properties
2. ไปที่ Builder
3. กดปุ่ม New
4. เลือก Program
5. ตั้งชื่อ อะไรก็ได้
6. ที่แท็บ Main ช่อง Location ใส่ที่อยู่ของ Cygwin
C:\cygwin\bin\bash.exe
7. ช่อง Working Directories กด Browse Workspace… แล้วเลือกโปรเจคปัจจุบัน
8. ช่อง Argument ใส่
/cygdrive/d/android-opencv/android-ndk-r6b/ndk-build
9. ไปที่แท็บ Refresh
10. ติ๊กถูกที่ Refresh resources upon completion และ Recursively include sub-folders
11. เลือก Specific resources option และคลิ้กปุ่ม Specify resources…
12. เลือก โฟลเดอร์ Libs ที่อยู่ในโปรเจคนั้น ๆ แล้วก็กด Finish
13. ไปที่แท็บ Environment แล้วก็กด New
14. ที่ช่อง Name ใส่
PATH
ส่วนช่อง Value ใส่
C:\cygwin\bin
15. ไปที่แท็บ Build Option แล้วก็ติ๊กถูกช่องเหล่านี้
Allocate…
After a “Clean”
During Manual Builds
Specify….
16. กดที่ปุ่ม Specify Resource…. แล้วเลือกโฟลเดอร์ jni ของ โปรเจคนั้น ๆ
สำหรับไฟล์ Android.mk ในโฟลเดอร์ jni ก็ประมาณนี้
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
OPENCV_CAMERA_MODULES:=off
include ../includeOpenCV.mk
ifeq (“$(wildcard $(OPENCV_MK_PATH))”,””)
#try to load OpenCV.mk from default install location
include $(TOOLCHAIN_PREBUILT_ROOT)/user/share/OpenCV/OpenCV.mk
else
include $(OPENCV_MK_PATH)
endifLOCAL_C_INCLUDES += $(OPENCV_INCLUDES) $(ANDROID_OPENCV_INCLUDES)
LOCAL_LDLIBS += -llog -lGLESv2
LOCAL_MODULE := findcontours
LOCAL_SRC_FILES := jni_part.cpp
include $(BUILD_SHARED_LIBRARY)
และไฟล์ Application.mk ใน โฟลเดอร์ jni
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
จบจ้า…