1

我使用的是 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 项目导入吗?(我想是的)。

对我来说,错误消息中看起来很奇怪的是提到了 dalvik。我认为 Tango 应用程序应该是 ART 应用程序,但错误消息提到了 Dalvik(虽然似乎 ART 运行时试图加载它)。那是问题吗?我该如何解决?

4

2 回答 2

1

我终于放弃了 Android Studio - 我设法继续前进,直到我不得不引入 tango 共享库,根本找不到说服 gradle 链接它的方法 - 那里的评论太多了

ndk 集成被破坏,新的 ndk 在某个模糊的未来点万岁

我在 Windows 上,最终选择了 VisualGDB,它允许在 Java 端使用 eclipse,在本机端使用 Visual Studio——可能可以用 Eclipse 完成,但 Visual Studio 是老朋友了。由于您使用的是 Ubuntu,因此您应该在 gdb 接口中有替代方案。

于 2015-01-20T13:43:59.827 回答
0

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

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

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

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

于 2015-01-21T03:57:27.280 回答