我已经创建了两种版本的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构建文件中。不需要的服务部分(如地图,身份等)需要其他权限。
感谢您的回答,他们让我走上正轨。 : - )
答案 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)
它们在清单文件中声明。
如果你需要访问这些功能;是必要的。