Skip to main content
Oaf
New Participant
November 13, 2024
Solved

AndroidManifest hell

Well it seems Unreal's support for processing manifests is as bad as Unity's....

Trying to upload a build, get the following error:

 

It seems you can only ADD permissions via UE5 project settings, so I do that to produce the following:

 

The offending permissions should be removed, but it seems they're not. What's going on?

Thanks!

    This topic has been closed for replies.
    Oaf
    OafAnswer
    New Participant
    November 13, 2024

    Fixed it. Removed all my 'remove' permission lines, and created a file called AndroidSanitizePermissions_UPL.xml in Intermediate/Source:

     

    <?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>

     

    ...then amended [MyProject].Build.cs in the same folder to include the lines:

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


    ...and all is good!

    1 reply

    Oaf
    OafAuthorAnswer
    New Participant
    November 13, 2024

    Fixed it. Removed all my 'remove' permission lines, and created a file called AndroidSanitizePermissions_UPL.xml in Intermediate/Source:

     

    <?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>

     

    ...then amended [MyProject].Build.cs in the same folder to include the lines:

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


    ...and all is good!