确定所需Android权限的原因(假设原因:AdMob)

时间:2015-08-07 09:28:31

标签: android admob android-permissions

我已经创建了两种版本的Android应用程序:

两个版本功能相同并使用相同的库,AdMob是一个例外。

付费版不需要任何权限,Google Play中显示的权限概述反映了这一点。

免费版本在清单中声明了两个必需的权限:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

AdMob需要described here

现在免费版在Google Play中列出了三个必需的权限(我试图从德语翻译):

  • 身份
  • 粗粒度位置
  • 照片/媒体(

由于付费版本的不同之处仅在于不使用AdMob,因此必须是这些权限的原因。

我的问题是:

  • 他们在哪里宣布?
  • 他们真的有必要(尤其是Fotos)吗?
  • 如果没有 - 我怎么能摆脱它们?

非常感谢

Nudelsuppe

发现错误

这是我自己的错,我有

liteCompile 'com.google.android.gms:play-services-ads:7.5.0'

而不是

liteCompile 'com.google.android.gms:play-services:7.5.0'

在我的gradle构建文件中。不需要的服务部分(如地图,身份等)需要其他权限。

感谢您的回答,他们让我走上正轨。 : - )

2 个答案:

答案 0 :(得分:2)

查看

中的manifest-merger-log文件
/app/build/outputs/logs

你会发现像这样的条目:

uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
   ADDED from com.google.android.gms:play-services-maps:7.5.0:22:5

在这种情况下,它会告知您通过Google Play服务向您的清单添加了WRITE_EXTERNAL_STORAGE权限。

答案 1 :(得分:0)

它们在清单文件中声明。
如果你需要访问这些功能;是必要的。