我有一个应用,其中清单只有权限中的以下行
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
但是在安装应用程序时,Play商店会显示以下权限
身份
使用以下一个或多个:设备上的帐户,个人资料数据
位置
使用设备的位置
照片/媒体/文件
使用以下一个或多个:设备上的文件,如图像,视频或音频,设备的外部存储空间
由于我没有要求用户位置我也没有使用它,为什么Play商店会显示这个?
编辑:如何修复
接受答案和this google page上的链接帮助我解决了这个问题。基本上播放服务使用位置,所以我只是用服务加和服务广告取代它们解决了这个问题。希望这将有助于其他一些开发人员。
具体
替换compile 'com.google.android.gms:play-services:7.5.0'
带
compile 'com.google.android.gms:play-services-ads:7.5.0'
compile 'com.google.android.gms:play-services-plus:7.5.0'
答案 0 :(得分:10)
由于我没有要求用户位置我也没有使用它,为什么Play商店会显示这个?
它显示了您的应用所需的内容,即使您没有明确地将其明确放入您的清单文件中。实际上,最终的Manifest是您的AndroidManifest.xml
和所有清单(您通常通过gradle&#39; s compile ...
提供)提供的合并结果。
如果您想知道哪个依赖项会影响您的最终权限要求,您可以检查<PROJECT>/app/build/outputs/logs
文件夹中的清单合并报告文件并查找uses-permission#<PERMISSION_YOU_LOOK_FOR>
,即:
uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
ADDED from AndroidManifest.xml:11:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:22:5
进一步阅读: