2016-09-23 54 views
9

在剛剛發佈到Play商店的最新測試版本中,我注意到自上一版本以來已添加READ_PHONE_STATE爲什麼要添加READ_PHONE_STATE權限?

我自己沒有加這個。我只記得,因爲以前的版本做的是使用各種播放服務庫(是V9.4.0)的v9.6.0:

compile 'com.google.android.gms:play-services-location:9.6.0' 
compile 'com.google.android.gms:play-services-places:9.6.0' 
compile 'com.google.android.gms:play-services-auth:9.6.0' 

這會都做了嗎?我看不到它記錄。我可以擺脫許可嗎?

而且我確保我使用的所有庫都與主應用程序匹配,根據this answer ...對我的情況沒有影響。基於this article

編輯

好了,我開始鑽研我的日誌輸出地發現:

ADDED from [Meteogram:jobdispatcher:unspecified] C:\Users\Me\AndroidStudioProjects\Meteogram\app\build\intermediates\exploded-aar\Meteogram\jobdispatcher\unspecified\AndroidManifest.xml:37:25-84 android:uses-permission#android.permission.READ_PHONE_STATE 

但沒有在jobdispatcher庫(我導入到我的項目中已經改變一個gradle模塊)自上一版本以來。

EDIT2

下面是從日誌的更多一點,我的感覺是,也許是由於劇中服務庫版本爲可疑?

ADDED from [Meteogram:jobdispatcher:unspecified] C:\Users\Me\AndroidStudioProjects\Meteogram\app\build\intermediates\exploded-aar\Meteogram\jobdispatcher\unspecified\AndroidManifest.xml:37:17-87 
    android:name 
     ADDED from [Meteogram:jobdispatcher:unspecified] C:\Users\Me\AndroidStudioProjects\Meteogram\app\build\intermediates\exploded-aar\Meteogram\jobdispatcher\unspecified\AndroidManifest.xml:37:25-84 
android:uses-permission#android.permission.READ_PHONE_STATE 
IMPLIED from C:\Users\Me\AndroidStudioProjects\Meteogram\app\src\pro\AndroidManifest.xml:2:1-12:12 reason: com.google.android.gmscore.integ.client.location has a targetSdkVersion < 4 
activity#com.google.android.gms.common.api.GoogleApiActivity 

與上面鏈接對方的回答中targetSdkVersion < 4比賽,但有什麼我可以在這種情況下做的,因爲劇中的服務庫不是我的?

EDIT3

我找到了答案......而不是刪除這個問題,我會離開它了,有解決方案,以防它萬一別人有更好的解決方案爲他人有益的(! )

EDIT4

看起來它已被固定在9.6.1

回答

15

更新#2Version 10.0.1再次解決了該問題。

更新:這也出現在Google Play服務的10.0.0版中,如this post中所報告。

以前的答案:

this post in the Android Developers G+ Community,主持人(我)的一個發佈此評論:

我內部昨天已經報道這個問題,當開發者指出了這一點,修復了已經在內部製作,並且更新的SDK即將推出

並且更新的SDK現在可用 - 使用9.6.1 Google Play服務de未決。

+1

看起來它已在'9.6.1'中修復......謝謝! – drmrbrewer

8

我最終發現this,它報告了同樣的問題。一個解決辦法是在Answer #3,這是刪除的權限提到的「手動」(我的假設是:許可權僅需要非常早期的Android版本,這是正常的我,因爲我的minSdk是16):

<manifest ... 
    xmlns:tools="http://schemas.android.com/tools" 
    ... > 

<uses-permission 
    android:name="android.permission.READ_PHONE_STATE" 
    tools:node="remove" /> 
+0

問題是,它是否會破壞谷歌服務功能中的任何內容?你有沒有遇到過任何問題? – vanomart

+1

在早期的android版本上甚至不需要該權限。相反,這裏發生的事情是,這個權限甚至在早期的android版本上都沒有_exist_,並且現在要求該權限完全不需要權限。如果android studio認爲你有不知道權限的舊代碼,則會添加權限。 –

相關問題