Playストアに公開したばかりの最新のベータ版では、以前のバージョンからREAD_PHONE_STATE
が追加されています。
私はこれを自分で追加していません。以前のバージョンでは、v9.6.0のさまざまなplay-servicesライブラリ(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'
これでできたでしょうか?私はそれが文書化されているのを見ることができません。許可を取り消すことはできますか?
this answer ...のように、使用しているすべてのライブラリがメインアプリと一致することを確認しました。私の場合は違いはありません。
[〜#〜] 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
ここにそのログからもう少しありますが、私の考えでは、おそらくそれは疑わしいプレイサービスライブラリバージョンによるものだと思いますか?
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
で修正されたようです。
この問題は、Play Services v 12.0.0にも存在します。オープン ここに問題追跡ツール があります。問題は両方の権限に存在するようです:
(元の質問からの)10.0.1修正で見たように、おそらく12.0.1で修正されるでしょう。
それまでは、drmrbrewerの回答に記載されているように、マニフェストから許可を手動で削除することをお勧めします。
更新
12.0.1は、この問題に対処した2018年3月28日にリリースされました。 ここのリリースノートを参照 。
不足しているminSdkVersionを-licenseアーティファクトに追加して、READ_PHONE_STATEおよびREAD_EXTERNAL_STORAGE権限が自動的に含まれないようにします。
#2を更新: バージョン10.0.1 は問題を再度修正します。
Update: this post で報告されているように、これはGoogle Playサービスのバージョン10.0.0でも発生します。
前の回答:
Android Developers G + Community)のこの投稿 ごとに、モデレーターの1人(私)がこのコメントを投稿しました。
開発者が指摘した昨日、私はすでにこの問題を社内で報告しました。修正はすでに社内で行われ、更新されたSDKが近日公開されます
更新されたSDKが利用可能になりました-9.6.1 Google Playサービスの依存関係を使用してください。
Firebaseのバージョン12.0.0に関連する問題を探している人は、バージョン12.0.1にアップグレードしてください。これは、12.0.0のパッケージングの誤りであり、12.0.1で解決されました。
リリースノートを確認してください: https://developers.google.com/Android/guides/releases
Android(私のように!)の経験がなく、drmrbrewerのスニペットがどこに行くべきかわからない場合、答えはメインのapp/manifests/AndroidManifest.xml
ファイル、次のように:
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
package="com.your.package">
...
<!-- attempt to combat this issue: https://stackoverflow.com/questions/39668549/why-has-the-read-phone-state-permission-been-added -->
<uses-permission
Android:name="Android.permission.READ_PHONE_STATE"
tools:node="remove" />
<uses-permission
Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"
tools:node="remove" />
</manifest>
同じ問題に直面した。 Googleが新しいバージョンをリリースすることを確認しました。 12.0.1または最新バージョンに更新します。この問題はなくなります。