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

Determine reason for required Android permissions (assumed cause: AdMob)

我创建了一个 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 方面有所不同,因此必须是这些权限的原因。

我的问题是:

非常感谢

Nudelsuppe

发现错误

是我自己的错,我有

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

而不是

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

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

感谢您的回答,它们让我走上了正确的轨道。 :-)

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

查看位于

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

在这种情况下,它表示 WRITE_EXTERNAL_STORAGE 权限已通过 Google Play 服务添加到您的清单中。