谷歌应用商店的权限设置错误

5
我的应用在Google Play页面的权限设置有误。这是我的清单文件(只包括权限):
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />

这是完整的文件 AndroidManifest.xml

现在请看我的应用程序描述下面的列表。这显然是错误的。

permissions by Google Play

我试图联系Google Play支持,但他们什么也没告诉我。

目前我们无法提供有关应用程序开发问题的技术支持。我们很乐意帮助您解决与使用Google Play Developer控制台(http://play.google.com/apps/publish)发布应用程序和管理应用程序相关的任何问题。

所以现在我不知道该怎么做才能让列表正确。有人遇到过类似的问题吗?每次更新应用程序时,Google Play都会告诉我需要新的权限。但设备可以正确地查看权限。它们在清单中被正确声明。我该怎么办?


5
你确定你的应用程序没有使用任何第三方库吗? - tyczj
请参考这篇博客文章这个SO答案,了解tyczj所指的内容。简而言之,您添加到项目中的库(如Play Services)可以向您的应用程序清单中添加<uses-permission>元素。 - CommonsWare
好的。我使用appcompat-v7:22.1.1,support-v4:22.1.1和saxrssreader,其中唯一的权限是INTERNET。(https://github.com/indywidualny/fNotifier/blob/9337155f7bc5fb1d2977db7fee57d0bc96c2f751/saxrssreader/src/main/AndroidManifest.xml)奇怪的是,即使在正常安装时(不在Google Play之外),手机也不显示对文件的访问权限。只有读取手机状态(奇怪的是,我没有使用它)和我声明的权限。Google Play以某种方式显示更多权限。 - koras
1个回答

4
我找到了问题出在哪里。
getSharedPreferences(getApplicationContext().getPackageName() + "_preferences", Context.MODE_MULTI_PROCESS);

由于我正在使用多进程共享首选项并将它们写入某个位置(自API 11以来可用),因此Android Studio添加了对文件的访问权限。

可以通过强制删除权限来解决问题。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" />

在应用程序的清单中添加了写入共享偏好设置,这对于it技术非常重要,并且由于Android Studio自动添加,所以确实需要。
第二个是因为saxrssreader库,需要添加READ_PHONE_STATE权限。当库的最小SDK低于应用程序的最小SDK时,在构建期间会添加该权限。我只需将库的最小SDK更改为与我的应用程序使用的数字相同,该权限就会消失。
这是一个棘手的问题,但现在一切都清楚了。

在您的清单文件中声明 xmlns:tools="http://schemas.android.com/tools" 是非常有用的。 - mmm111mmm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接