Android 使用 Unity + Oculus Quest 的最终 apk 中不包含权限

Android Permission is not include in final apk using Unity + Oculus Quest

我想在我的 Oculus Quest 设备中使用蓝牙,因此我需要在 Unity 生成的 .apk 中包含 android.permission.BLUETOOTH 权限。

我将下面的 AndroidManifest.xml 文件包含在 ../MyProject/Assets/Plugins/Android/ 文件夹中

<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-feature android:name="android.hardware.bluetooth_le" android:required="false"/>

<application>
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:theme="@StyLe/UnityThemeSelector">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
</application>
</manifest>

包括权限 ACCESS_COARSE_LOCATION 和 BLUETOOTH_ADMIN 但不包括 BLUETOOTH 权限。

我正在使用 Oculus 插件 + Unity 2019.4.16f1

我尝试使用 Unity 版本 2019.3.2.f1、2020.1.0f1、2020.1.9f1。同样的结果。不工作。

我简直不敢相信。有什么想法吗?

提前致谢!!

解决办法是降级到Unity oculus XR包版本1.4.3。我推测他们的 1.5.0 在构建后强制从清单中删除权限(参见 changelog 对蓝牙权限的引用)