Can anybody recommend a working Android Studio sample app that I can use for Oculus Quest 2, preferably with good documentation? I am looking for something I can build and run to start playing with their OpenXR Mobile SDK.
I am on an Intel Macbook Pro running macOS Big Sur, and I tried with the latest stable Android Studio release (Arctic Fox).
I have tried two different samples so far:
VrSamples/VrCubeworld_Framework - from the official Oculus docs:
Android Development Software Setup
Getting Started with Oculus Native Samples: Import Gradle Project
After following all the steps, I keep hitting this error:
NDK not configured. Download it with SDK manager. Preferred NDK version is '21.0.6113669'.
I'm convinced my NDK is installed:
I believe I've tried every workaround listed in the popular Stackoverflow question, and the linked Google issue.
hello_xr - a comment on the Oculus Forum links to this helpful blog post with more detailed instructions than the official Oculus docs. Unfortunately, after following those, I hit this build error:
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)
There doesn't appear to be an include folder under src, and there is no openxr.h in the top level include/openxr folder.
UPDATE: At Jherico's suggestion, I downloaded Oculus OpenXR Mobile SDK v1.0.13 and OpenXR-SDK-Source release-1.0.13, and followed the instructions again to exactly match the versions used in the blog post, and ultimately I did get it working!
I created https://github.com/daj/OculusHelloXR to snapshot my working Android Studio project with all its dependencies, with individual commits for each step that I followed (I had to make a couple of changes to steps in the blog post to get it working).
I wrote everything up in this blog post: https://daj.medium.com/oculus-vr-for-android-developers-a38134c759b0
The blog post instructions are likely out of date, since they're from April and the most recent version of the OpenXR SDK has it's own new build.gradle file for hello_xr that was added in 1.0.20 in October.
If you want to go by the blog post, I'd suggest that after you check out the OpenXR-SDK-Source repository, you then run git checkout release-1.0.14 since that would be the version that the blog post was written against.
Alternatively, you can just ignore the blog post and try importing the build.gradle project directly into Android Studio (basically following the "Import Gradle Project" steps you linked to, but importing hello_xr from the current version of the OpenXR-SDK-Source project instead) and try seeing it that builds.
If you're still getting NDK errors you might try explicitly setting the ANDROID_NDK_ROOT environment variable, and make sure it's visible to your build process.
Related
I have been dealing with a problem in android studio gradle for hours, and i could not solve it.
I am just trying to build my very first projects but there is a problem with gradle.
This is how my build.gradle file looks like:
plugins {
id 'com.android.application' version '7.4.0' apply false
id 'com.android.library' version '7.4.0' apply false
}
enter image description here
This is the context of problem:
A problem occurred configuring root project 'My Application'.
> Could not resolve all files for configuration ':classpath'.
> Could not find gradle-7.4.0.jar (com.android.tools.build:gradle:7.4.0).
Searched in the following locations:
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.4.0/gradle-7.4.0.jar
> Could not find builder-7.4.0.jar (com.android.tools.build:builder:7.4.0).
Searched in the following locations:
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/7.4.0/builder-7.4.0.jar
> Could not find bundletool-1.11.4.jar (com.android.tools.build:bundletool:1.11.4).
Searched in the following locations:
https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/1.11.4/bundletool-1.11.4.jar
> Could not find protos-30.4.0.jar (com.android.tools.analytics-library:protos:30.4.0).
Searched in the following locations:
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/30.4.0/protos-30.4.0.jar
Possible solution:
- Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html
I also added the image.
I don't know how to fix this, and any help would be appreciated.
I've observed the same issue. I've found some ambiguities that might explain what's going on.
If you naviagate to https://maven.google.com/web/index.html#com.android.tools.build:gradle:7.4.0 you'll get a web page that will give you information about com.android.tools.build.gradle-7.4.0. If you hover over the link for the jar or pom file you'll get a different url from the ones that your search indicated: https://dl.google.com/android/maven2/com/android/tools/build/gradle/7.4.0/gradle-7.4.0.jar. Notice that the "/dl/" part is missing. That's at least what my browser was showing me at the bottom of the browser window. Seeing that, I went into my setting.gradle.kts file and edited my pluginManagment repositories section by added the following repository:
maven {
url = uri("https://dl.google.com/android/maven2/")
}
I was then able to build my project without getting an error about not finding the com.android.tools.build.gradle plugin. In my case, I saw a slightly different list of locations of what it was searching for. Mine was failing because it couldn't fine the gradle-7.4.0.pom file, and not the jar file. So, I'm not exactly seeing exactly what you're seeing, but there's a good chance it related since the pom file is normally read before the jar file when resolving plugin artifacts from a repository.
When I was getting the problem, I would copy the link of the repositories searched and paste it into a browser and sure enough I would get an http 404 error using those searched url location. And when I modified the link by removing the "/dl/" part of the link, the file would download. So, you might think that my explanation explains the issue. However, after I got the issue resolved, I reentered the URL that was failing in my browser (the url with the "/dl/" part), but this time it worked correctly without any errors. The only explanation that I can come up with on why the url sometimes works and sometimes fails is that the server or proxy server processing that url request is sometimes offline.
With all of that said, you may run into the next issue. In order to use android gradle 7.4 you must be using an version of android studio greater than Android Studio Dolphin | 2021.3.1 Patch 1. see https://developer.android.com/studio/releases#android_gradle_plugin_and_android_studio_compatibility Unfortunately, it is my understanding that all of the versions of Android Studio, that would be compatible with using android gradle plugin 7.4 are only available as preview Android Studio releases. So if you're developing and restricting yourself to only building code using officially released stable tools, you're stuck using android gradle plugin 7.3.1, until the next version of android studio gets official released.
i tried to use VCS > Import into version control > Share project on GitHub. https://snipboard.io/aTBxe9.jpg
However i got an error https://snipboard.io/6Eashw.jpg . then i used https://stackoverflow.com/a/27701083/15334005 and followed all the steps yet none of my files appear on github.
https://snipboard.io/7sSbcq.jpg
i would share any further information required. if someone provide me an updated ist of instruction to be followed since both github and android studio have changed w.r.t previous answer i promise to update the steps for newer version and changes below this line as i learn to do it for use of future people.
Will update my answer as i learn and will keep this answer updated wrt newer version and changes for future users.
I recently updated to the latest version of XCode and Xamarin Xamarin.iOS 10.0.0.1 (29910bb) running Visual Studio Professional 2015 Version 14.0.25431.01 Update 3. Both my Mac (build machine) and PC are fully up to date. Now that i have update i am no longer able to compile/build for anything but the simulator.
Compiler Error.
> C:\Program Files
> (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(1028,3): error :
> Failed to read file attributes for
> "/Users/mod/Library/Caches/Xamarin/Resources/Images.xcassets"
As a test i copied the solutions file over to the build machine and with no modifications it compiles and runs any of the targets.
I have also tried deleting the builds directory on the build machine and no help.
Anyone know what the work around is for this?
I have come across is this issue and what seems to possibly be related to on Xamarin Forums. The thing I found in my case was related to image assets within a library I was trying to use. I was able to remove the image assets and relocate to main project and that seemed to resolve the build issue.
This problem, like you have found is very recent. For what's it worth, I have also found that command line tools have numerous issues as they seem to lag behind the GUI provided in either Xamarin Studio or Visual Studio.
Good luck
As mentioned here I had to delete the folder ~/Library/Caches/Xamarin/mtbs/builds on the Mac used for the builds.
After a rebuild it worked again.
Is there any documentation on converting a application.mk/android.mk file to a gradle based build.gradle file?
good links, QArea. Thanks a lot!
At this moment NDK support in Gradle are very limited. If you need to assemble something that gradle not provides that function
I do like this.
I collect the old-fashioned, but to .so-patches automatically picks up the Gradle-plugin:
ndk-build -j4 NDK_LIBS_OUT=src/main/jniLibs
Otherwise, you must wait for next version of gradle 0.13. Devs promise that NDK will fix integration with NDK.
I made a script tool to convert android.mk building system to gradle building system, because I wanted to test the demo source codes in:
https://android.googlesource.com/platform/development/+/05523fb0b48280a5364908b00768ec71edb847a2/samples
But after searching whole internet, I found no one did it yet. So I created this tool by myself. But even with this tool, we couldn't ensure all projects in AndroidSamples could be built and executed successfully because of the API versions and features mismatch. So I created my own projects for https://android.googlesource.com/platform/development/+/05523fb0b48280a5364908b00768ec71edb847a2/samples
And I want to convert those demo projects one by one.
Now the whole source codes are here:
https://github.com/clockzhong/AndroidSamples
I already successfully converted some samples into gradle building system and executed them correctly on my android phones. But I still have some version mismatch issues, anyway, I'll mentioned it in the project check-in comments.
I am attempting to convert the Microsoft.Health C# class library that is installed as part of the HealthVault SDK, using instructions provided here. After following these instructions, I get the following error when attempting to load the project into Visual Studio 2013.
"The project is targeting frameworks hat are either not installed or
are included as part of future updates to Visual Studio. See
http://go.microsoft.com/fwlink/?LinkId=287985"
Visiting the link takes me to .NET SDKs and Downloads. Once there, I have no clue on what needs to be done.
I do realize that one will have to leverage the Portable Class Library Contrib project to fill in some missing bits, especially code related to System.Security. This, I will deal with later.
Any one run into a similar problem?
Maybe so late but for those who have the same problem.
I had the same error in a project which was working perfect before updating VS2013 and finally after 3 hours looking for the source of the error I found that the error is about TargetFrameworkProfile.
In my case I sloved it like so:
Right click in the unloaded project in your solution and click Edit.
Find the TargetFrameworkProfile tag and set it as below:
<TargetFrameworkProfile>Profile78</TargetFrameworkProfile>
At a guess, this is because you need to specify the TargetFrameworkVersion and TargetFrameworkProfile properties in the project file. Compare the .csproj you are trying to create to a newly created PCL project file, and make sure that everything that's not specific to your project matches.
I ran into the same issue and got it resolved by installing the latest Visual Studio Update