Skip to main content
New Participant
May 1, 2021

Quest releasing problem (android manifest)

Hello guys. I need advice, please, about editing the android manifest to upload to Oculus Store. Please see the screenshot. Can't get how and where to solve it. App made in UE 4.23.1. Thanks.
 
This topic has been closed for replies.

25 replies

Inspiring
May 14, 2021

The Documentation here is horrible for unreal devs I only managed to figure out how to fix one

under advanced APK android

set an extra tag for application
android:allowBackup="False"

toxyneAuthor
New Participant
May 17, 2021

Thanks for the reply. Some errors are gone but these are still available.

 

ERROR: Validation identified the following errors:
GLES version not specified (android:glEsVersion in AndroidManifest.xml). GLES version of 2.0 or greater should be used.


NOTE:
Your manifest includes the following potentially dangerous permissions:
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.ACCESS_MEDIA_LOCATION
Please remove these permissions if they are not needed by your application. If they are needed, you must include justification in the “Notes for the Reviewer” field when submitting your application for review. Failure to provide justification will result in the rejection of your application.

New Participant
May 19, 2021

Have the same problem!
I spent last 4 days and nights with this issues 😞
I will very appritiated if you have some solutions

Up and Coming
May 21, 2021

in android, if something is not marked specifically true or false it will still have a default value. Try manually telling the advanced section that those params are false? 

Bringing games to Life
Participant
May 21, 2021

hello, you need 3 things:

1. have a `Build\Android\ManifestRequirementsOverride.txt` like the following (you need to adjust the value for your sdk version and glES versions):

<uses-sdk android:minSdkVersion="25" android:targetSdkVersion="25" />
<uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />
<uses-feature android:glEsVersion="0x00030002" android:required="true" />
<supports-gl-texture android:name="GL_KHR_texture_compression_astc_ldr" />
<uses-feature android:name="android.hardware.usb.host" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.oculus.permission.HAND_TRACKING" />
<uses-feature android:name="oculus.software.handtracking" android:required="false" />

2.  have a `Source\[your project]\AndroidSanitizePermissions_UPL.xml` with the following 'removePermission'  tags (adjust for your own needs):

<?xml version="1.0" encoding="utf-8"?>
<root xmlns:android="http://schemas.android.com/apk/res/android">
  <androidManifestUpdates>
    <removePermission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <removePermission android:name="android.permission.ACCESS_WIFI_STATE" />
    <removePermission android:name="android.permission.READ_PHONE_STATE" />
    <removePermission android:name="com.android.vending.CHECK_LICENSE" />
    <removePermission android:name="android.permission.GET_ACCOUNTS" />
    <removePermission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
    <removePermission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  </androidManifestUpdates>
</root>

 3. add the following lines into `Source\[your project]\[your project].Build.cs` :

using System.IO;
--
var manifest_file = Path.Combine(ModuleDirectory, "AndroidSanitizePermissions_UPL.xml");
AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", manifest_file));

 Hope this helps.

New Participant
May 22, 2021

Thanks, that is super useful!
Is it possible to add the removePermission tags via the Project Settings > Android > Advanced APK Packaging section? It would be great to control these settings from one single place.

Inspiring
May 28, 2021


this is all you should have to do gets rid of two of the three warnings online works with all warnings but this will ensure security and passing oculus standards 

Up and Coming
March 15, 2022

If I just do this in unreal will it get rid of the permissions for reading and writing to external storage? Also my build also rejected saying that it had permissions to access media but I can’t find that one anywhere in the manifests? Thanks for this though I will try it later attached is the

rejection I got 

May 28, 2021

I am trying to only remove the ACCESS_MEDIA_LOCATION permission. I tried the removePermission element, but I got the following warning when I packaged the project and the upload still says the permission is there.

Packaging (Android (ASTC)): Missing attribute 'name' in 'removePermission p0:name="android.permission.ACCESS_MEDIA_LOCATION"' (skipping instruction)

 

I found another way using the tools:node element, described below, but when I attempted to upload the project, the WRITE_EXTERNAL_STORAGE permission was gone, but the ACCESS_MEDIA_LOCATION was still there.

 

Project > Build > Android > ManifestRequirementsOverride.txt

<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" tools:node="remove"/>


Project Settings > Extra Tags for Manifest Node

xmlns:tools="http://schemas.android.com/tools"

 

StackOverflow | How to Remove Specific Permission When Build Android App with Gradle 

New Participant
June 1, 2021

Our app suffers the same fate. The ACCESS_MEDIA_LOCATION is nowhere to be found within both, the UE and our codebases. Even a fulltext search couldn't find any in the build files. Its not present in the Manifests and I ran out of ideas where it could possibly come from yesterday.
Any attempt to remove the permission with conventional weapons has proven to be unsuccessfull. Sadly both of the methods described in this post did not work. The rest of the permissions can be easly switched on and off at will.
I give up. I'll describe the struggle to the reviewer and hope for the best during the review process.

New Participant
June 1, 2021

Ok guys, I gave it a one last go before the submission and its possible that the ovr-platform-util.exe contains a bug. If I analyze my apk using the android sdk tools there is no sign of the dreaded ACCESS_MEDIA_LOCATION permission.


 

 

 

 

 

 

 

 

We might have to file a bug report for this behavior.

Participant
June 1, 2021

I have only one warning for the dated OpenSSL lib. Did you "uncheck" RECORD_AUDIO in the project settings? Check VintageGreen 's screenshot for the androd tab settings.

New Participant
June 1, 2021

No, we need the RECORD_AUDIO permission for voice chat. But ACCESS_MEDIA_LOCATION is the problem. We really don't need it as it "Alows an application to access any geographic locations persisted in the user's shared collection".

June 3, 2021

I ignored the permission error and left a note in the apps submission and they approved the build. The permission still appears on the app in the oculus dashboard along with a bunch of other permissions.

 

android.permission.INTERNET
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_MEDIA_AUDIO
android.permission.READ_MEDIA_VIDEO
android.permission.READ_MEDIA_IMAGES
android.permission.ACCESS_MEDIA_LOCATION
android.permission.ACCESS_NETWORK_STATE
android.permission.WAKE_LOCK
com.android.vending.CHECK_LICENSE
android.permission.ACCESS_WIFI_STATE
com.google.android.c2dm.permission.RECEIVE
Up and Coming
June 15, 2021

How can i ignore this error when uploading? These errors are stopping me to upload the build, even just to test it internally. Any clues? Thanks

New Participant
June 3, 2021

We ended up doing the same thing.