2016-04-20 23 views
1

我们的Unity应用程序不使用任何类型的位置服务,但是它在AndroidManifest.xml中部署。由于我们的目标sdk版本设置为23,它要求在运行时的权限,我们不需要特别的位置GPS权限,因为我们不使用它,但我相信Unity增加了,因为也许我们使用的某个第三方库可能是引用它,但我不知道为什么它被添加到清单xml。想发表意见如下行从清单代码,但不工作,它仍然抛出一个运行时允许提示如何在android Unity应用程序中禁用android运行时位置权限提示

> <!-- <uses-permission 
> android:name="android.permission.ACCESS_COARSE_LOCATION" /> --> 

如果我设定的目标SDK,以22(切换回旧的权限模型在安装时),它抛出编译错误,因为它说Android SDK工具是当前使用的SDK版本23.

我知道我们可以从设置菜单撤销权限,但并没有解决我们的问题

是否有在编译期间以任何方式在运行时撤销ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION权限提示的方式?

回答

2

SDK版本23 = Android M。 Android M在运行时检查权限而不是安装时间。我知道得到这个的唯一方法是获得访问源代码并评论/删除任何获取设备位置的代码。

首先,找出插件是由要求允许移除项目中的所有插件和一个把他们回来,一个。如果您发现插件存在位置问题,请向插件提供商索取源代码

如果不能得到源代码,可以反编译罐子或AAR文件,并删除代码,它包含位置/ GPS代码的部分,然后重新编译回罐子或aar文件。

相关问题