Unity中的Android Internet权限

Dee*_*ght 4 permissions android unity-game-engine android-manifest

似乎默认情况下Unity没有放

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)

生成AndroidManifest.xml.我的项目中需要这些权限.谷歌没有给我直接答案.可能吗?

Pro*_*mer 13

转到编辑 - > 项目设置 - > 播放器.选择Android,Build Settings,将Internet AccessAuto更改为Require.您不必这样做,因为Unity会在您使用任何网络API时自动执行此操作.

在此输入图像描述

如果这还不够,那么您可以手动修改Android AndroidManifest.

1.打开Unity.只为Android 构建一次Android项目.不要关闭它.

2.转到您的项目目录.在步骤1之后,Unity将创建一个名为Temp的新文件夹.在该Temp内部还有另一个名为StagingArea的文件夹.进入StagingArea文件夹并将名为AndroidManifest.xml的文件复制到计算机的另一个文件夹中.修改/添加您自己的自定义权限,例如问题中的权限.

3.现在将修改后的AndroidManifest.xml文件移动到您的项目目录 - > 资产 - > 插件 - > Android.如果插件Android文件夹未退出,请创建它们.

请享用!

  • 辉煌!感谢您的第一种方法,我不知道为什么Google没带我去看一些官方文档。第二种解决方案稍微复杂一点,实际上直到现在我一直在使用它,除了一件事:我从另一个地方-从/Applications/Unity/PlaybackEngines/AndroidPlayer/Apk/AndroidManifest.xml(这是在OS上)中选择AndroidManifest X环境) (2认同)
  • @DeepThought Unity没有记录一些内容。我建议您掌握第二种解决方案。在制作自己的插件,出现清单冲突或想要Unity中不可用的权限时,将需要它。如果您进行3到5次,则应该习惯它。它只是复制文件,对其进行修改并放入另一个目录中。 (2认同)