ARVR技术交流群 129340649
欢迎加入!
ImageTargetNative是Vuforia最早版本的,所以接触早点的都需要编译这个工程,我当初也是。虽然现在版本做项目基本上已经不使用这个工程了,但是很多人还是需要研究一下其中的代码。因为通过这个工程你大致能够看出Vuforia大概的架构是如何的,一般移动端AR的实现过程又是如何的。
好了,接下来就先讲解怎么编译,以后再说程序大致结构。
使用4.2.3例子讲解:
1、首先下载工程资源,然后解压,再导入eclipse中。
2、配置jar包路径
a) 修改QCAR_SDK_ROOT;
b) 直接将vuforia.jar包拷贝到libs,然后右键“Add to Build Path”如果没有这个文件夹,就新建一个;
c) 添加外部jar包;
d) 直接将samples拷贝到sdk/samples路径下(推荐)。
注意:推荐选最后一种,一了百了啊。如果前三种任选一种,记住只能用一种,否则会报重复引用的错误。
3、配置so库和头文件
非native版本只需要添加libvuforia.so文件就可以了。设置好路径就可以。这个以后会说到。
Native版本配置与其他版本差别蛮大。这里需要懂NDK和JNI的知识,如果不太清楚的同学可以看这篇入门《》,欲深入研究的请百度or谷歌。
看jni文件夹中Android.mk文件,
LOCAL_SRC_FILES = ../../../build/lib/$(TARGET_ARCH_ABI)/libVuforia.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../build/include
这里这么写是因为默认工程文件是在sdk/samples目录下。
所以这里我们也将这个工程放到这个位置吧。
因为我试了修改成绝对路径后报错:
PS:使用绝对路径按理来说应该是可以的,今天就写这么多,后面再看再改。
4、开始编译
使用dos进入对应工程的jni目录,然后修改相对路径为:
LOCAL_SRC_FILES = ../../../../build/lib/$(TARGET_ARCH_ABI)/libVuforia.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../../build/include
需要多向上走一个目录。
输入ndk-build,开始编译
编译完成: