搭建基于Vuforia的Android AR技术开发环境,我主要是参考了《搭建Android AR技术开发环境(Augmented Reality)》,因此一些细节方面的东西我就不一一复述,这里我就讲讲我在搭建过程中遇见的问题,来给大家一个参考。
因为我采用的Vuforia SDK是最新版的5.0.5和android-ndk-r10e,所以在构建过程还是遇见了一些问题。
第一个问题:NDK配置问题
首先是ndk配置问题,根据网上的资料,我选择了较为普遍的Cygwin编译ImageTargetsNative,但是由于我一开始没有在cygwin中配置ndk,所以根据要求进行了NDK配置:
export PATH=$ANDROID_NDK_HOME:$PATH
第二个问题:NDK-build 问题
配置完NDK就可以利用cygwin对ImageTargetsNative-5-0-5进行编译,这里我遇见了Android NDK: ERROR :jni/..............LOCAL_SRC_FILES points to a missing file,如下图:
一开始我查了很多资料,都是说要改jni/andorid.mk中的LOCAL_SRC_FILES路径,我试着改了,结果还是不成功,最后折腾了好久,结果问题出在没有将ImageTargetsNative-5-0-5解压放到samples文件中,我是在samples中又建了一个文件夹,所以。。。。问题找到,NDK-build成功,成功生成lib和obj文件。
第三个问题:ImageTargetsNative-5-0-5编译问题
解决了以上问题,本以为能够顺利运行第一个AR程序,结果又出现了新的问题:Vuforia APP Key is missing. 解决方法是在https://developer.vuforia.com/targetmanager/licenseManager中申请APP key,申请成功后,复制你的License Key到工程的ImageTargets.java中,找到private class InitVuforiaTask extends AsyncTask<Void, Integer, Boolean>{},找到QCAR.setInitParameters(ImageTargets.this, mVuforiaFlags, “ ”);默认第三个参数是空,你只需要把你获取的License key作为字符串复制到这里,QCAR.setInitParameters(ImageTargets.this, mVuforiaFlags, “ your-license-key”)然后运行程序,OK,成功运行!!!