最近我一直在android studio上使用ARToolkit5开展项目。由于我对使用NDK的开发完全不熟悉,我首先想到的是查看artoolkit中包含的示例项目。基于Java的示例工作正常(ARSimpleProj& ARSimpleInteractionProj)。但是当我尝试使用本机库(ARSimpleNativeProj& ARSimpleNativeCarsProj)运行项目时,该项目无法正常工作。
我得到的只是logcat中的一些错误消息,如下所示:
E / libARWrapper:ARController(native):[error]从> file' Data / patt.hiro',width 80.000000加载单个AR标记。 E / libARWrapper:ARController(本机):[错误]错误:无法从文件' Data / patt.hiro'中加载单个> AR标记。 E / libARWrapper:ARController(native):[error]错误:无法加载标记。
E / libARWrapper:ARController(native):[error]从>文件' Data / patt.kanji',宽度80.000000加载单个AR标记。 E / libar:错误打开模式文件' Data / patt.kanji'阅读 E / libARWrapper:ARController(原生):[错误]错误:无法从文件' Data / patt.kanji'中加载单个> AR标记。 E / libARWrapper:ARController(native):[error]错误:无法加载标记。
logcat中的连续消息:
E / libARWrapper:ARController(native): [error] arwQueryMarkerTransformation():无法使用UID找到标记 -1
我已经尝试了很多来找出问题所在。我无法找到解决方案。任何帮助表示赞赏。
我添加了一些logcat输出的更多细节,希望它能提供一些额外的信息
E / libARWrapper:ARController(native):VideoSource :: configure():video>源视频配置:" -format = NV21" E / libARWrapper:ARController(native):VideoSource :: configure():video>源摄像头参数:" Data / camera_para.dat" E / libARWrapper:ARController(native):[error]打开Android视频源。
和
E / libARWrapper:ARController(native):ARController :: startRunning():调用,>开始运行 E / libARWrapper:ARController(native):[error] ARController :: startRunning():>错误:未初始化,退出,返回false E / ARToolKit:启动视频时出错 E / ARActivity:初始化摄像机时出错。无法继续。
我在logcat的顶部遇到此消息。我无法确定导致此类错误的原因
E/Zygote: Zygote: error closing descriptor
libcore.io.ErrnoException: close failed: EBADF (Bad file number)
at libcore.io.Posix.close(Native Method)
at libcore.io.BlockGuardOs.close(BlockGuardOs.java:75)
at com.android.internal.os.ZygoteInit.closeServerSocket(ZygoteInit.java:221)
at com.android.internal.os.ZygoteConnection.handleChildProc(ZygoteConnection.java:879)
at com.android.internal.os.ZygoteConnection.runOnce(ZygoteConnection.java:242)
at com.android.internal.os.ZygoteInit.runSelectLoop(ZygoteInit.java:713)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:649)
at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
使用Android Studio和ARToolKit时要做的第一件事就是运行位于其中的构建脚本 ARTOOLKIT_ROOT /安卓 build.sh和build_native_examples.sh
另外一个很好的起点是ARToolKit doku关于这一点: http://www.artoolkit.org/documentation/doku.php?id=4_Android:android_native
如果您使用的是GitHub版本,则即将发布的文档有更新。因为它没有在ARToolKit.org jet上发布,所以我为你附上了PDF:
https://drive.google.com/file/d/0B0I5m7Yc2x-rZm5vcDBDOGo1Rm8/view?usp=sharing
编辑:
我刚刚确认:
对我有用的步骤:
这一切都运作良好。
答案 1 :(得分:0)
尝试完全删除您的应用程序或删除应用程序数据。该应用程序将从Data文件夹缓存您的数据,因此如果您进行任何更改,它将不会捡起它。