Search Unity

Question How to prevent my custom AndroidManifest from being merged with Unity's?

Discussion in 'VR' started by rafaelcarbonellg2011, Jan 19, 2023.

  1. rafaelcarbonellg2011

    rafaelcarbonellg2011

    Joined:
    Mar 30, 2020
    Posts:
    1
    I'm trying to upload a VR app to the Meta Store, and they reject my app because I demand permissions that I DIDN'T put in my Manifest. It seems that Unity merge my manifest with another that it creates when I build the apk, and then it puts all the permissions that I don't want.

    This is the Manifest that is generated after I build the apk.


    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" android:installLocation="auto">
    <application android:extractNativeLibs="true" android:label="[USER=7078]@String[/USER]/app_name" android:icon="[USER=387498]@Mipmap[/USER]/app_icon" android:allowBackup="false" android:networkSecurityConfig="[USER=94913]@XML[/USER]/network_sec_config">
    <activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:screenOrientation="landscape" android:launchMode="singleTask" android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenLayout|screenSize|uiMode|density" android:resizeableActivity="false" android:hardwareAccelerated="false">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    <category android:name="com.oculus.intent.category.VR" />
    </intent-filter>
    <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    <meta-data android:name="android.notch_support" android:value="true" />
    <meta-data android:name="com.oculus.vr.focusaware" android:value="true" />
    </activity>
    <meta-data android:name="unity.splash-mode" android:value="0" />
    <meta-data android:name="unity.splash-enable" android:value="True" />
    <meta-data android:name="unity.launch-fullscreen" android:value="True" />
    <meta-data android:name="unity.allow-resizable-window" android:value="False" />
    <meta-data android:name="notch.config" android:value="portrait|landscape" />
    <meta-data android:name="com.oculus.handtracking.frequency" android:value="LOW" />
    <meta-data android:name="com.oculus.handtracking.version" android:value="V2.0" />
    <meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only" />
    <meta-data android:name="com.unity.xr.oculus.LowOverheadMode" android:value="true" />
    <meta-data android:name="com.unity.xr.oculus.LateLatching" android:value="false" />
    <meta-data android:name="com.unity.xr.oculus.LateLatchingDebug" android:value="false" />
    <meta-data android:name="com.oculus.supportedDevices" android:value="quest|quest2" />
    </application>
    <uses-feature android:glEsVersion="0x00030000" />
    <uses-feature android:name="android.hardware.vulkan.version" android:required="false" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-feature android:name="android.hardware.microphone" android:required="false" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    <uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
    <uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
    <uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" />
    <uses-feature android:name="oculus.software.handtracking" android:required="false" />
    <uses-permission android:name="com.oculus.permission.HAND_TRACKING" />
    <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false" />
    <uses-feature android:name="com.oculus.feature.RENDER_MODEL" />
    <uses-permission android:name="com.oculus.permission.RENDER_MODEL" />
    <uses-feature android:name="oculus.software.trackedkeyboard" android:required="true" />
    <uses-permission android:name="com.oculus.permission.TRACKED_KEYBOARD" />
    </manifest>


    This is what I really want my Manifest to look like:


    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" android:installLocation="auto">
    <application android:extractNativeLibs="true" android:label="[USER=7078]@String[/USER]/app_name" android:icon="[USER=387498]@Mipmap[/USER]/app_icon" android:allowBackup="false" android:networkSecurityConfig="[USER=94913]@XML[/USER]/network_sec_config">
    <activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:screenOrientation="landscape" android:launchMode="singleTask" android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenLayout|screenSize|uiMode|density" android:resizeableActivity="false" android:hardwareAccelerated="false">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    <category android:name="com.oculus.intent.category.VR" />
    </intent-filter>
    <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    <meta-data android:name="android.notch_support" android:value="true" />
    <meta-data android:name="com.oculus.vr.focusaware" android:value="true" />
    </activity>
    <meta-data android:name="unity.splash-mode" android:value="0" />
    <meta-data android:name="unity.splash-enable" android:value="True" />
    <meta-data android:name="unity.launch-fullscreen" android:value="True" />
    <meta-data android:name="unity.allow-resizable-window" android:value="False" />
    <meta-data android:name="notch.config" android:value="portrait|landscape" />
    <meta-data android:name="com.oculus.handtracking.frequency" android:value="LOW" />
    <meta-data android:name="com.oculus.handtracking.version" android:value="V2.0" />
    <meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only" />
    <meta-data android:name="com.unity.xr.oculus.LowOverheadMode" android:value="true" />
    <meta-data android:name="com.unity.xr.oculus.LateLatching" android:value="false" />
    <meta-data android:name="com.unity.xr.oculus.LateLatchingDebug" android:value="false" />
    <meta-data android:name="com.oculus.supportedDevices" android:value="quest|quest2" />
    </application>
    <uses-feature android:glEsVersion="0x00030000" />
    <uses-feature android:name="android.hardware.vulkan.version" android:required="false" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    <uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
    <uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
    <uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" />
    <uses-feature android:name="oculus.software.handtracking" android:required="false" />
    <uses-permission android:name="com.oculus.permission.HAND_TRACKING" />
    <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false" />
    <uses-feature android:name="com.oculus.feature.RENDER_MODEL" />
    <uses-permission android:name="com.oculus.permission.RENDER_MODEL" />
    <uses-feature android:name="oculus.software.trackedkeyboard" android:required="true" />
    <uses-permission android:name="com.oculus.permission.TRACKED_KEYBOARD" />
    </manifest>


    Do you know how can I prevent Unity from merging my AndroidManifest file with their's?

    Sorry for my bad English.