android-studio - 使用 Android Studio 进行 Oculus 开发的最佳示例应用程序?

标签 android-studio cmake android-ndk oculus openxr

谁能推荐一个可以用于 Oculus Quest 2 的 Android Studio 示例应用程序,最好有良好的文档?我正在寻找可以构建和运行的东西来开始玩他们的 OpenXR Mobile SDK .

我使用的是运行 macOS Big Sur 的 Intel Macbook Pro,我尝试使用最新的稳定版 Android Studio (Arctic Fox)。

到目前为止,我已经尝试了两种不同的样本:

  1. VrSamples/VrCubeworld_Framework - 来自 Oculus 官方文档:

完成所有步骤后,我一直遇到此错误:

NDK not configured. Download it with SDK manager. Preferred NDK version is '21.0.6113669'. 

我确信我的 NDK 已安装:

ndk_installed

ndk_setings

我相信我已经尝试了 popular Stackoverflow question 中列出的所有解决方法,以及相关的 Google 问题。

  1. hello_xr - comment在 Oculus 论坛上链接到 this helpful blog postofficial Oculus docs 更详细的说明.不幸的是,在遵循这些之后,我遇到了这个构建错误:
C/C++: /Users/dj/Code/OpenXR-SDK-Source/src/CMakeLists.txt debug|armeabi-v7a : CMake Error at /Users/dj/Code/OpenXR-SDK-Source/src/version.cmake:25 (file):   
  file STRINGS file  
  "/Users/dj/Code/OpenXR-SDK-Source/src/include/openxr/openxr.h" cannot be read. 
Call Stack (most recent call first):   
  CMakeLists.txt:318 (include)

src 下似乎没有include 文件夹, 顶层没有openxr.h include/openxr文件夹。

更新:根据 Jherico 的建议,我下载了 Oculus OpenXR Mobile SDK v1.0.13OpenXR-SDK-Source release-1.0.13 ,并再次按照说明与博文中使用的版本完全匹配,最终我确实成功了!

我创建了 https://github.com/daj/OculusHelloXR快照我的工作 Android Studio 项目及其所有依赖项,以及我遵循的每个步骤的单独提交(我必须对博文中的步骤进行一些更改才能使其正常工作)。

我在这篇博文中写下了所有内容:https://daj.medium.com/oculus-vr-for-android-developers-a38134c759b0

最佳答案

博文说明可能已过时,因为它们是从 4 月开始的,而且最新版本的 OpenXR SDK 有它自己的新 build.gradle 文件,用于在 1.0 中添加的 hello_xr .20 月。

如果您想阅读博文,我建议您在检查 OpenXR-SDK-Source 存储库后,运行 git checkout release-1.0.14,因为那样会是博客文章所针对的版本。

或者,您可以忽略博文并尝试导入 build.gradle项目直接进入 Android Studio(基本上遵循您链接到的“导入 Gradle 项目”步骤,但从 OpenXR-SDK-Source 项目的当前版本导入hello_xr)并尝试看到它的构建。

如果您仍然遇到 NDK 错误,您可以尝试显式设置 ANDROID_NDK_ROOT 环境变量,并确保它对您的构建过程可见。

关于android-studio - 使用 Android Studio 进行 Oculus 开发的最佳示例应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69998819/

相关文章:

android - Android Studio 3.1.2 上的 NDK_PROJECT_PATH=null

android - gradle:从项目修改库的构建

c - 如何在CMake的外部库中包含头文件

regex - install() with FILES_MATCHING PATTERN 忽略模式并安装所有

c++ - 如何在 CLion 中运行 SFML,错误 undefined reference ?

android - 关于纯用 c++ 编写 android 应用程序(不是混合 java/c++ 应用程序)的良好初学者 Material

android - 在 64 位 Android 设备上找不到 .so 文件

android - 错误 :(31, 0) 找不到 Gradle DSL 方法: 'jniDebugBuild()'

android-studio - 如何在Android Studio中使用新的Gradle实验版

java - Android JNI - 从 C++ 调用 Android UI 线程上的函数