![](/img/trans.png)
[英]Project Tango onPoseAvailable() and getPoseAtTime() discrepancies
[英]Project Tango native code crash when calling getPoseAtTime()
我想要做的基本上是获取设备的位置,就像运动跟踪示例一样。 我同时阅读了Tango网站上的摘录和示例Java代码。 我尝试了SDK的Mira版本和Okul版本,但是崩溃总是发生。 不确定我执行了哪一步是错误的。
完整的logcat输出发布在github gist上 。 对于较短的版本:
A/art: art/runtime/check_jni.cc:64] JNI DETECTED ERROR IN APPLICATION: jfieldID was NULL
A/art: art/runtime/check_jni.cc:64] in call to SetDoubleField
A/art: art/runtime/check_jni.cc:64] from int com.google.atap.tango.TangoJNINative.GetPoseAtTime(double, int, int, com.google.atap.tangoservice.TangoPoseData)
A/art: art/runtime/check_jni.cc:64] "LTSensorActivity" prio=5 tid=14 Runnable
A/art: art/runtime/check_jni.cc:64] | group="main" sCount=0 dsCount=0 obj=0x64929dc8 self=0x4b160d68
A/art: art/runtime/check_jni.cc:64] | sysTid=14960 nice=0 cgrp=apps sched=0/0 handle=0x43f05ec8
A/art: art/runtime/check_jni.cc:64] | state=R schedstat=( 2661834 1966000 13 ) utm=0 stm=0 core=3 HZ=100
A/art: art/runtime/check_jni.cc:64] | stack=0x4b48e000-0x4b492000 stackSize=1040KB
A/art: art/runtime/check_jni.cc:64] native: art::Thread::DumpStack(std::ostream&) const+87 [0x4165db78] (libart.so)
A/art: art/runtime/check_jni.cc:64] native: ??? [0x415098a6] (libart.so)
A/art: art/runtime/check_jni.cc:64] native: art::JniAbortF(char const*, char const*, ...)+51 [0x4150a254] (libart.so)
A/art: art/runtime/check_jni.cc:64] native: ??? [0x4150d036] (libart.so)
A/art: art/runtime/check_jni.cc:64] native: ??? [0x41510336] (libart.so)
A/art: art/runtime/check_jni.cc:64] native: Java_com_google_atap_tango_TangoJNINative_GetPoseAtTime__DIILcom_google_atap_tangoservice_TangoPoseData_2+57 [0x4b789dfe] (libtango_client_api.so)
A/art: art/runtime/check_jni.cc:64] at com.google.atap.tango.TangoJNINative.GetPoseAtTime(Native method)
A/art: art/runtime/check_jni.cc:64] at com.google.atap.tangoservice.Tango.getPoseAtTime(Tango.java:582)
A/art: art/runtime/check_jni.cc:64] at info.dword1511.aoasensor.MappingActivity.getLocation(MappingActivity.java:259)
A/art: art/runtime/check_jni.cc:64] at info.dword1511.aoasensor.MappingActivity.access$000(MappingActivity.java:30)
A/art: art/runtime/check_jni.cc:64] at info.dword1511.aoasensor.MappingActivity$1.run(MappingActivity.java:48)
A/art: art/runtime/check_jni.cc:64] at android.os.Handler.handleCallback(Handler.java:733)
A/art: art/runtime/check_jni.cc:64] at android.os.Handler.dispatchMessage(Handler.java:95)
A/art: art/runtime/check_jni.cc:64] at android.os.Looper.loop(Looper.java:136)
A/art: art/runtime/check_jni.cc:64] at android.os.HandlerThread.run(HandlerThread.java:61)
A/art: art/runtime/check_jni.cc:64]
A/art: art/runtime/runtime.cc:203] Runtime aborting...
...
A/libc: Fatal signal 6 (SIGABRT) at 0x000039b7 (code=-6), thread 14960 (LTSensorAct)
产生错误的最小代码发布在github gist上 。
连接Tango之前是轮询poller
在轮询数据吗? 您只能在此调用完成之后查询数据,还要注意,这些数据处于可运行状态,因此您的轮询功能可以在执行连接线之前运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.