第一步:配置环境
需要下载和安装以下的东西:
1.JDK
2.Eclipse IDE
3.Android SDK
4.Android Development Tools (ADT)
5.Android SDK Platform Support
6.Cygwin环境下载地址
7.Android NDK
第二步:安装VuforiaSDK
1.下载Vuforia SDK下载地址
2.配置QCAR
环境变量:eclipse中,
Window->Preferences
. 找到Java->Build Path->Classpath Variables
选New...
.新添加一个变量
Name是QCAR_SDK_ROOT;Path选择
Folder...,填入vuforia sdk的文件夹所在路径
3.为测试用的设备开启开发测试功能
第三步:编译和运行一个Vuforia例子
1.编译共享对象
用应用程序代码编译共享对象
Android NDK应用程序需要通过Java引导装载程序部署为共享对象。
编译之后生成一个二进制的*.so
文件会打包到eclipse,对于每个应用程序需单独编译生成*.so
文件。
以Android\vuforia-sdk-android-1-5-9\samples\ImageTargets为例
打开Cygwin,cd到vuforia sdk的samples\ImageTargets目录下,执行ndk-build来编译ImageTargets这一个应用程序:
ndk-build
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi-v7a/gdbserver
Gdbsetup : libs/armeabi-v7a/gdb.setup
Compile++ arm : ImageTargets <= ImageTargets.cpp
Compile++ arm : ImageTargets <= SampleUtils.cpp
Compile++ arm : ImageTargets <= Texture.cpp
StaticLibrary : libstdc++.a
Prebuilt : libQCAR.so <= jni/../../../build/lib/armeabi/
SharedLibrary : libImageTargets.so
Install : libImageTargets.so => libs/armeabi/libImageTargets.so
Install : libQCAR.so => libs/armeabi/libQCAR.so
Compile++ arm : ImageTargets <= ImageTargets.cpp
Compile++ arm : ImageTargets <= SampleUtils.cpp
Compile++ arm : ImageTargets <= Texture.cpp
StaticLibrary : libstdc++.a
Prebuilt : libQCAR.so <= jni/../../../build/lib/armeabi-v7a/
SharedLibrary : libImageTargets.so
Install : libImageTargets.so => libs/armeabi-v7a/libImageTargets.so
Install : libQCAR.so => libs/armeabi-v7a/libQCAR.so
至此,我们已经完成了Java引导装载程序的编译和应用程序的部署。
2.创建Android APK
这步就很简单了,在eclipse中新建一个android项目,导入现有的程序代码,此处导入刚刚经过编译的ImageTarget
3.运行例子程序
在samples目录ImageTarget\media中可以找到以下几张图,
stonechilptarmac
在带有摄像头的测试设备上运行此程序,摄像头对着上面的图片时,就会出现神奇的东西
设备连接不上的解决办法:
在安装apk时可能会出现找不到设备的问题,这个时候首先检查设备的连接设置;在eclipse里,可以查看DDMS的ADB是否正确连接到设备(Window->Open Perspective->DDMS
)。连接上的设备会列在Devices窗口中。
或者也可以打开Cygwin,执行命令:
adb devices
屏幕输出会显示连接到的设备:
$ adb devices
List of devices attached
HT012P123456 device
如果列表是空的,或者已连接的设备没有显示,就执行以下命令终止ADB服务:
adb kill-server
"adb devices
”来重启服务重新检测设备。