最近,Google开始使用android.permission.GET_ACCOUNTS
抱怨我的应用程序(在Play商店中的Alpha),因此需要具有指向"有效的隐私策略"的链接。现在我没有那个,因为我的应用仍在alpha中,但更奇怪的是,我不需要android.permission.GET_ACCOUNTS
在我的清单中获得许可。
我列出了我确实需要的权限,
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<permission android:name="xxx.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="xxx.permission.C2D_MESSAGE" />
<permission android:name="xxx.permission.INTERNAL_NOTIFICATION" android:protectionLevel="signature" />
<uses-permission android:name="sxxx.permission.INTERNAL_NOTIFICATION" />
以及我的gradle依赖性:
apply plugin: 'com.google.gms.google-services'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// Support Library
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:recyclerview-v7:23.2.0'
compile 'com.android.support:cardview-v7:23.2.0'
// Google Play Services (Push notifications)
compile 'com.google.android.gms:play-services:8.3.0'
compile 'com.google.android.gms:play-services-ads:8.3.0'
compile 'com.google.android.gms:play-services-identity:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
// Calligraphy (Font)
compile 'uk.co.chrisjenx:calligraphy:2.2.0'
// Smack (XMPP client)
compile 'org.igniterealtime.smack:smack-android:4.1.1'
compile 'org.igniterealtime.smack:smack-tcp:4.1.1'
// AndroidPlot (Charts)
compile 'com.androidplot:androidplot-core:0.6.1'
// Test Targets
testCompile('junit:junit:4.12', 'org.mockito:mockito-core:1.9.5')
testCompile 'org.json:json:20140107'
,如果有人可以指出android.permission.GET_ACCOUNTS
来自哪里。
删除此依赖性:
compile 'com.google.android.gms:play-services:8.3.0'
是(a)多余的,(b)包括您不使用的大量服务,这些服务大大夸大了您的应用程序的大小和方法,并且(c)将包括 ever play服务的权限集 - 包括GET_ACCOUNTS
。
您的其他播放服务依赖项将吸引他们独立需要的核心播放服务库。
在Android Studio中的android.permission.GET_ACCOUNTS
(Ctrl Shift F)的整个项目中进行文本搜索。它可能会向您显示添加此权限要求的内容。
通过查看您的gradle依赖关系,您正在使用GCM消息通知服务。
因此,在下面的链接中接受的ANS中很好地解释了这种情况:
使用GCM时get_accounts许可 - 为什么需要此?