几周后,我之前无法使用 c++ 将 android 工具集提升到功能水平,并且有机会使用项目 tango,尽管这听起来很棒和奇妙,并且会打开一个机会的世界使用 VR... 我觉得我被困在第 -4 步。我的理解有限,请多多包涵。
我偶然发现了为在点云数据上运行算法而构建的 PCL,它是开源的,看起来像是一个很棒的解决方案,它是用 C++ 编写的,我对 C++ 和 Java 都有一定的了解。我曾尝试使用 Eclipse 和 NDK,并且实际上设法将项目“部署”到 tango,但是在尝试编辑项目中的任何文件时,java 或 c++,它会中断并且永远不会再次部署。
现在我正在尝试使用 Android Studio,在遵循了大约 5 个关于“如何让 C++/ndk 在 android studio 中工作”的相互冲突的教程之后,我还没有得到一个工作环境。所以这是我的问题,我们可以从第一步开始,感谢任何帮助。一个人如何让 c++ 和 PCL 在谷歌项目探戈上工作,对于我的技能水平的人来说,有没有更好的方法?最终结果是带有项目探戈的映射 3d 空间,具有可管理大小的可导出数据集。我已经在 youtube 上的演示中看到了它,但到目前为止,就像我说的那样,我被困在第 -4 步。
3 回答
我们正在努力将所有项目转换为基于 android studio 的项目,现在,这里是让您开始的步骤:
打开 Android Studio,从刚刚克隆的 repo 中导入项目。
以motion-tracking-jni-example为例,将tango-gl-render、tango-service-sdk、third-party复制到motion-tracking-jni-example/app/src。
在 motion-tracking-jni-example/app/src/main 文件夹中运行 ndk-build。
ndk 将生成 libs 文件夹,将其重命名为 jniLibs。
转到 Android Studio,在 build.gradle(Module:app) 文件中,将行 'sourceSets.main.jni.srcDirs = []' 添加到 defaultConfig 部分。
只需单击 Android Studio 中的运行按钮。
我们在这里所做的基本上是禁用了 Android Stdio 的 JNI 编译并使用 ndk 手动构建它。
从 unity3d 开始,使用 Unity3D 一周即可轻松获得工作演示。并且支持非常好,文档是一流的。
希望这会有所帮助。
Tango NDK 教程会有所帮助,但基本布局是
- 设置一个新项目
- 创建您的 Java 活动
- 创建一个 JNI 文件以将 Java 桥接到 C++
- 创建您的 C++ 逻辑
- 设置你的 Makefile 和 Gradle(可能是最烦人的部分)