如何调试Project Tango C示例

时间:2015-01-20 08:19:59

标签: android c java-native-interface ubuntu-14.04 google-project-tango

我使用的是Ubuntu 14.04,我克隆了c个例子github repo。我安装了ADT Eclipse,并且还安装了C / C ++插件。我可以将示例项目导入为Android项目。到目前为止,我尝试了PointCloud示例和增强现实示例。我可以作为Android应用程序启动调试会话,我可以选择我的Tango平板电脑设备。我可以在logcat视图的顶部看到此错误消息:

01-20 00:09:05.583: A/art(5250): art/runtime/thread.cc:1011] No pending exception expected: java.lang.UnsatisfiedLinkError: Couldn't load point_cloud_jni_example from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/libtango_device.jar", zip file "/data/app/com.projecttango.experiments.nativepointcloud-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.projecttango.experiments.nativepointcloud-1, /system/lib, /vendor/lib, /system/lib]]]: findLibrary returned null

同时在平板电脑上,我提供了对话框以授予应用程序权限,但我会立即停止。

  1. 我应该使用Eclipse ADT,还是可以以某种方式使用Android Studio(IntelliJ)?
  2. 我应该将项目导入为Android项目吗? (我想是的)。
  3. 在给我的错误信息中看起来很奇怪的是dalvik。我认为Tango应用程序应该是ART应用程序,但错误消息提到了Dalvik(虽然看似ART运行时试图加载它)。那是问题吗?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我终于放弃了Android Studio - 我设法继续前进,直到我不得不引入探戈共享库,根本无法找到说服gradle链接它的方法 - 并且订单上有太多评论的

  

ndk集成被破坏,新的ndk在一些模糊的未来点上很长时间

我在Windows上,终于弹出了VisualGDB,它允许在本机端使用eclipse用于java端和visual studio - 可能是用eclipse完成的,但是visual studio是一个旧的朋友。由于您使用的是Ubuntu,因此您应该在gdb接口中有其他选择。

答案 1 :(得分:0)

好的,所以我只需要做一些功课。如下所述:https://developers.google.com/project-tango/apis/c/c-getting-started

  1. 我将当前目录更改为所需的C示例项目(root)。然后我不得不说<ndk_path>/ndk-build。编译了包含so相关部分的JNI个文件。例如,对于point-cloud-jni-example,在libs目录中创建armabi-v7a目录,并在其中创建/编译libpoint_cloud_jni_example.solibtango_client_api.so文件/放置。请注意,我已经安装了NDK。

  2. 我在ADT Eclipse中重新打开项目并刷新(右键单击根节点上的Project explorer并刷新)。之后我仍然有一条错误消息,它无法找到Android清单。这是愚蠢的,因为它就在那里。为了触发某些操作,我在Android清单中将目标SDK版本调整为20。请注意,如果您将最低SDK版本设置为20,那么Tango设备将不会显示在AVD中,因为它的API级别为19,只是说':')

  3. 无论如何,之后我设法将该项目作为Android应用程序运行。另请注意,c-getting-started中引用的github repo不再存在。我们可以说“hello world”现在是hello-tango-jni-example项目。