Android Manifest Install Location Glitch

I want to signal out an issue with the auto-generated Android Manifest files that became apparent as soon as the Oculus Store started rejecting my Gear VR apps.

Simply put, the “Install Location” always defaults to “internalOnly” no matter how you set it up when packaging apps for distribution. Initially I thought it to be something from my engine modifications but anyone should be able to confirm this. Just create a new blank mobile BP project with minimum graphics, set it up for a Gear VR deploy (check configure manifest for gear vr, min sdk to 19, gear vr plugin should be enabled by default, mobile HDR should be off by default) add your google distribution signing data and specify installLocation=“auto”…

In my intermediary files, after doing the steps above, the Android Manifests are all reading “internalOnly” which makes no sense. I’m packaging apps by going to File>PackageProject>Android>Android (ASTC).

This is a very big issue for anyone distributing on the Oculus store as, yesterday and the day before, none of my apps (Alpha builds) could be published as they didn’t respect their terms. Today it seems that they allow .apk to go through even if they lack this manifest option, but I can’t know how long this will last.

As such, can anyone please point out any mistakes or things that I’m missing out on the packaging process. Otherwise I’d like to know where are the engine tools/files responsible for the Android Manifest auto generation so I can edit those to eliminate the dreaded internalOnly option entirely. Or if there’s any other (manual?) way to package apps so they’ll be respecting “auto” install location.

Many thanks,
George

So, after writing about this issue to the Oculus folks it hit me where this issue could be stemming from.
Here it is. To upload an app on the Oculus store you have to check the configure the AndroidManifest for deployment to Gear VR check box which makes some specific settings on the Manifest…including setting up the install location to internalOnly.

So, in light of this,

  1. Can someone from the Epic staff update the Gear VR specific Android Manifest settings to match what they’re asking (from their store: Note: Effective March 14, 2017, apps must specify installLocation=“auto” instead of installLocation=“internalOnly”. This accommodates installing apps on SD card external storage.) please?
  2. One workaround could be not checking that box and setting up the Android Manifest manually to match what they require, not sure if that will work now
  3. Another workaround would be to know what component is responsible for overwriting the Android Manifest when that check box is enabled so we can manually edit that.

Thanks, and looking for a reply on this.

This is an easy fix. Edit Engine/Plugins/Runtime/GearVR/Source/GearVR/GearVR_APL.xml. On line 71 there is this line:


<addAttribute tag="manifest" name="android:installLocation" value="internalOnly"/>

just change this to:


<addAttribute tag="manifest" name="android:installLocation" value="auto"/>

This will be in 4.16.

Hi Chris, thanks for the tip here and over the Answerhub.