Keep Rules in Proguard Files (Using R8 Minify)
I'm developing an Immersive App for Meta Quest using the Meta Spatial SDK in Android Studio with R8 minification enabled. When building a signed APK, I encounter the following error: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in D:\AndroidProject\[package-name]\app\build\outputs\mapping\questRelease\missing_rules.txt. Missing class horizonos.app.container.TaskContainer (referenced from: horizonos.app.container.TaskContainer com.meta.spatial.runtime.PanelDisplay.taskContainer and 4 other contexts) Missing class horizonos.app.container.TaskContainerManager$TaskContainerCallback (referenced from: horizonos.app.container.TaskContainer com.meta.spatial.runtime.PanelDisplay.tryGetTaskContainer(android.content.Context, android.content.Context) and 2 other contexts) Missing class horizonos.app.container.TaskContainerManager (referenced from: horizonos.app.container.TaskContainer com.meta.spatial.runtime.PanelDisplay.tryGetTaskContainer(android.content.Context, android.content.Context)) Missing class vros.os.VrosBuild (referenced from: horizonos.app.container.TaskContainer com.meta.spatial.runtime.PanelDisplay.tryGetTaskContainer(android.content.Context, android.content.Context)) The missing_rules.txt file suggests adding the following rules to proguard-rules.pro: # Please add these rules to your existing keep rules in order to suppress warnings. # This is generated automatically by the Android Gradle plugin. -dontwarn horizonos.app.container.TaskContainer -dontwarn horizonos.app.container.TaskContainerManager$TaskContainerCallback -dontwarn horizonos.app.container.TaskContainerManager -dontwarn vros.os.VrosBuild When I add these -dontwarn rules to proguard-rules.pro, the signed APK builds successfully. However, when I deploy and launch the APK on a Meta Quest device, the app gets stuck in a loading state and eventually shows a "Not Responding" error after some time. I’ve also tried the following keep rules in proguard-rules.pro, but they prevent the APK from building: -keep class horizonos.** { *; } -keep class vros.** { *; } -keep class com.meta.spatial.** { *; } My question: What specific keep rules should I use in proguard-rules.pro to ensure that the necessary classes are preserved, allowing the app to build successfully and load properly on Meta Quest without getting stuck in the loading state?Solved79Views0likes2CommentsHow to make a single app which support 2d mode as well as MR using spatial sdk?
Hello I'm currently developing an app for meta quest which should work on background on any other apps/games like the meta quest browser. Based on my understanding, this is only possible by just porting 2d Android app. But i want to have standalone spatial features using meta spatial sdk as well. Should I make two separate apps or just building one would support both the usecase? Spatial features are just addition to the current 2d app