1. ホーム
  2. アンドロイド

[解決済み] なぜREAD_PHONE_STATEパーミッションが追加されたのですか?

2022-03-11 12:01:20

質問

Playストアに公開したばかりの最新ベータ版では READ_PHONE_STATE が前バージョンから追加されています。

私自身は追加していません。 前バージョンからやっていることといえば、各種プレイサービスライブラリのv9.6.0(v9.4.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'

これでできたのでしょうか? ドキュメントが見当たりません。 パーミッションをなくすことはできますか?

また、使用しているライブラリはすべてメインアプリと一致していることを確認しました。 この回答 ... 私の場合、違いはありません。

EDIT

に基づいてOK この記事 と、ログ出力を掘り下げてみると

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

以下、そのログからもう少し。私の感覚では、もしかしたら疑われるようにplay-servicesライブラリのバージョンが原因なのでは?

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 は、上記のリンク先の他の回答と一致しますが、play-servicesライブラリは私のものではないので、この状況で何かできることはありますか?

EDIT3

私は答えを見つけました...この質問を削除するよりも、私はそれが他の人のために有用である場合、解決策と、それを残しておきます(そして、他の誰かがより良い解決策を持っている可能性があります!)。

EDIT4

で修正されたようです。 9.6.1 .

解決方法は?

最終的に見つけたのは これ でも同じ問題が報告されています。 回避策の1つは 回答その3 を手動で削除することです(私の推測では、この許可は非常に初期のAndroidバージョンにのみ必要で、私の minSdk は16です)。

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

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