VR app crashing when target SDK is 32

The app works fine when minimum sdk = 21 and target sdk = 25 but oculus store demands sdk to be 32 or more. When I increase it, it crashes or infinitely loads. I am using Android SDK 31.0.0 (tried 32, 33) and NDK 21.4.707552 unreal version 4.27.
image

Have you ever solved this? Having the same issue

Same issue here as well. I’ve been told to try jdk 13 instead of 8 along with the Android version step up. I’ll give it a shot tomorrow and update my findings.

So with my old settings I can sideload and it just works
JDK 8
NDK 21.4
SDK android-29
Min 25
Target 29
Oculus VR Plugin
Open XR native
Launcher UE4.27 native plugins

Here we go again lol
image

1st Noticed blocker - Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/vmdl2141204748.tmp/base.apk (at Binary XML file line #75): com.epicgames.ue4.GameActivity: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present]

adding this your default engine.ini will correct the above issue

+ExtraActivityNodeTags=android:exported="true"

JDK 8 (packages to 3 dots followed by crash)
JDK 13 (packages to 3 dots followed by crash)
JDK 17 (fails with the following)

\Android\arm64\gradle\rungradle.bat" :app:assembleDebug
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)):        (see C:\Users\Uno\AppData\Roaming\Unreal Engine\AutomationTool\Logs\D+Program+Files+Epic+Games+UE_4.27\Log.txt for full exception trace)
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): AutomationTool exiting with ExitCode=1 (Error_Unknown)
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): BUILD FAILED
2 Likes

Unfortunately no. If I somehow fix it, I will post it here.

Thank you for sharing your findings. I am using jdk 11 btw. Also are you enabled Oculus VR, OpenXR plugins simultaneously? because that might cause some issue if I remember correctly.

I’ve been told OpenXR + Oculus VR plugin or OpenXR + Oculus XR ext plugin should work as long as OpenXR is the API in the project. I’ve tried both with no luck after packaging for Android-32. A side note is that I can simply go back to Android-25 JDK 8 and 21e NDK with OpenXR + Oculus Plugin and it works again.

I’m fortunate on one of my projects because I have a build that was uploaded before the cutoff date so they let me update it. However… this does nothing for the Unreal Engine VR community that want’s to stick with UE4.27 for the software occlusion culling or cheaper overhead on the physics (physx) thread and overall smaller memory footprint.

If anyone finds themselves here struggling I’ve outlined how to overcome these issues below.
uno1982/UnrealEngine at Meta-4.27.2-v62.0-AndroidFix (github.com)

Summary: UE4.27.2 Launcher uses Oculus Plugin 1.59.0 and is a deprecated version of the VRAPI


You need the version of the plugin included in the meta fork. Plugin 1.94.0

Then you just need to hold your tongue just right to satisfy packaging (using android-29 sdk with 33 build tools and targeting android-32) - To satisfy the Engine not wanting to package NDK/SDK correctly using android SDK API higher than 29 (without additional source modifications to fix storage behavior, game saves, etc.) but also applying the correct target platform to the manifest. (android-32) to make Meta Quest Dev hub uploads happy.

When you hit the magic combo you’ll see output like the following. Notice the Target, Build tools and SDK version.

UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Target SDK Version 32
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Using package name: 'com.WildOxStudios.HaloFanMade'
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): GotStoreVersion found v1. (bUseChangeListAsStoreVersion=False IsBuildMachine=False EngineChangeList=0)
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Writing packageInfo pkgName:com.WildOxStudios.HaloFanMade storeVersion:1 versionDisplayName:1.0 to D:\HaloFanMade\Binaries\Android\packageInfo.txt
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): ====7/27/2024 2:20:59 PM====PREPARING TO MAKE APK=================================================================
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): bBuildForES31: true
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): bSupportsVulkan: false
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Building Java with SDK API level 'android-29'
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Building with Build Tools version '33.0.1'
1 Like

This is the solution for me ^
Thanks @Uno1982

1 Like