警告あなたのAPKはプライバシーポリシーを必要とする許可を使用しています:(android.permission.READ_PHONE_STATE)


82

マニフェストにandroid.permission.READ_PHONE_STATEが追加されていません。許可。

新しいapkバージョンをアップロードするときにエラーが発生する理由エラーは以下のとおりです。

アプリには、次の権限を要求するバージョンコード1のapkがあります:android.permission.READ_PHONE_STATE。APKでこれらの権限を使用するアプリには、プライバシーポリシーを設定する必要があります。

グーグルプレイストアアカウントのスクリーンショットを添付しました。 ここに画像の説明を入力してください

私のマニフェストファイル。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.my.package.name">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name=".utils.PreferenceManager"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".SplashScreen"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".MainActivity"
            android:screenOrientation="portrait" />

        <activity
            android:name=".CategoryListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name=".ImagesActivity"
            android:screenOrientation="portrait" />

    </application>

</manifest>

1
許可はマニフェストに存在しましたか?それ以前に削除して新しいapkをアップロードしていませんか?
aconnelly 2016

いいえ、マニフェストファイルが添付されています。
Jiks 2016

マニフェストに電話の状態を読み取る権限を追加する
Noorul 2016

私はすでに追加と削除を試みました。何も機能しません
Narendra Sorathiya 2016

2
これをチェックしてください:stackoverflow.com/a/42751979/3806413
0xAliHn 2017年

回答:


54

アプリのmanifest.xmlには、デバイスから情報にアクセスするためのこれらのアクセス許可がありますが、Playストアで送信する際のプライバシーポリシーのリンクはありません。したがって、この警告が表示されます。

アプリが個人データまたは機密ユーザーデータを処理する場合は、アプリのプライバシーポリシーが必要です

アプリのストアリストにプライバシーポリシーを追加すると、ユーザーやデバイスの機密データをどのように扱うかについて透明性を確保できます。

******更新
GooglePlayコンソールのプライバシーポリシー設定が場所を変更しました。

Google Playコンソールで、
[ストアプレゼンス]> [アプリコンテンツ]を選択します。
「プライバシーポリシー」の下。


18
テンプレートからプライベートポリシーを作成する方法はありますか?
ダニエレ2017年

プライバシーポリシーを表示する必要があると思いますが、ウェブサイトがありません。おそらくプライバシーポリシードキュメントはテキストコンテンツになるので、最も簡単な方法は、すべてのプライバシーポリシーと許可関連情報を含むワードドキュメントを作成することです。ドロップボックスなどの無料のバケットにアップロードすると、プレイストアの送信に使用するURLを取得できます。
Deva 2017年

私は同じ問題に直面しています。READ_PHONE_STATE権限を使用しなかったのに、アプリがこれを使用すると表示されるのはなぜですか?
JaydipKalkani18年

2
AdMobのため。現在のバージョン12.0.0は、アプリにマニフェストにREAD_PHONE_STATEがない場合でも、READ_PHONE_STATE(バグ)を要求します。以上です。彼らは、12.0.1へのアップデートをまもなくリリースすると述べました。
ブラックジャック2018年

1
GooglePlayコンソールのプライバシーポリシー設定が変更されました。[ストアプレゼンス]> [アプリコンテンツ]を選択します。「プライバシーポリシー」の下。
onJohn

34

この行をマニフェストファイルに追加してみてください。

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

タグに属性xmlns:tools="http://schemas.android.com/tools"を追加して<manifest>名前空間ツールを定義します

ドキュメントからtools:node="remove"

マージされたマニフェストからこの要素を削除します。代わりにこの要素を削除する必要があるように見えますが、これを使用する必要があるのは、マージされたマニフェストで不要な要素を見つけた場合です。これは、制御できない優先度の低いマニフェストファイルによって提供されたものです(インポートされたライブラリとして)。


2
これにより、誰かがアプリをダウンロードしようとしているときに表示される厄介な権限の警告も回避されます...必要があります
kwishnu 2017

2
使用このおREAD_PHONE_STATEを使用することができない場合
ホアンĐăng

3
[致命的なエラー]:50:95:要素タイプ「uses-permission」に関連付けられた属性「tools:node」のプレフィックス「tools」がバインドされていません。
manish kumar 2017

マニフェストヘッダーでこれを使用しますか?<manifest xmlns:android = " schemas.android.com/apk/res/android " xmlns:tools = " schemas.android.com/tools " ...... />
Martin B

6

プロジェクトにある依存関係は、独自の権限を追加します。「READ_PHONE_STATE」がどこから来るのかを見つけるには、以下を実行してください。

  1. あなたのAndroidアプリケーションを再構築します
  2. androidstudioで「Ctrl + Shift + F」を押します(基本的に、好みのエディターですべて検索します)。
  3. 「READ_PHONE_STATE」を検索すると、(最初に作成したものではなく)再生成されたマニフェストファイルにエントリが見つかります。そのパスによって、どの依存関係からアクセス許可が追加されているかを知ることができます。 ここに画像の説明を入力してください


5

マニフェストファイルでmintarget sdkバージョンを指定する必要があります。
そうでない場合は、android.permission.READ_PHONE_STATEapkファイルのエクスポート中に自動的に追加されます。

<uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="19" />

すごい!それはそれを修正しました。ターゲットを指定していなかったときに追加されていました。
タルン2017

4

それは、その許可を含む可能性のあるサードパーティのライブラリが原因である可能性があるため、この分野での私の経験から、その特定の情報に関するプライバシーポリシーを追加する必要があります。つまり、アプリでアカウントの許可を取得するように依頼した場合、それを宣言する必要はありません。あなたのプライバシーポリシーファイルで、私たちはそのデータ、すなわちメールアドレスまたはグーグルプレイゲームにログインするような理由で何でも使用します。

これもできます

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

これがあなたにあなたがこの警告のために何ができるかをあなたに導くことを願っていますあなたのアプリのプライバシーポリシーを作成し、それをストアリストに添付してください


ありがとう:)しかし、これは機能します<uses-permission android:name = "android.permission.READ_PHONE_STATE" tools:node = "remove" />?
PriyankaChauhan 2017

4

サードパーティのライブラリです。あなたはで犯人を見つけることができますbuild/outputs/logs/manifest-merger-release-report.txt


3

現在12.0.0、AdMob libのバージョンを使用しているため、同じ問題に直面している人もいます。

に更新し12.0.1ます。これで修正されるはずです。あなたはここでもっと読むことができます


外部リソースへのリンクをお勧めしますが、リンクの前後にコンテキストを追加して、他のユーザーがそれが何であるか、なぜそこにあるのかを理解できるようにしてください。ターゲットサイトにアクセスできない場合や完全にオフラインになる場合に備えて、重要なリンクの最も関連性の高い部分を常に引用してください。
baduker 2018

これは私にとっての修正でした。A-Studioでは、「マージされたマニフェスト」を表示でき、GooglePlayライブラリを指します。
マットD.

2

Android 6.0を超えるデバイスでアプリをテストしている場合は、ユーザーに明示的に権限を付与するように依頼する必要もあります。

あなたが見ることができるように、ここで READ_PHONE_STATE危険なレベルを持っています。

権限に危険なレベルがある場合、ユーザーはこの権限を手動で受け入れるかどうかを指定する必要があります。あなたには選択肢がありません、あなたはこれをしなければなりませ

アクティビティからこれを行うには、次のコードを実行します。

ユーザーがAndroidMを使用していて、まだ権限を付与していない場合は、許可を求められます。

public static final int READ_PHONE_STATE_PERMISSION = 100;

  if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_PHONE_STATE)
                != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, READ_PHONE_STATE_PERMISSION);
        }

次にonRequestPermissionsResult、アクティビティをオーバーライドします

@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode){
            case READ_PHONE_STATE_PERMISSION: {
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED){
                    //Permission granted do what you want from this point
                }else {
                    //Permission denied, manage this usecase
                }
            }
        }
    }

あなたはそれについてもっと知るためにこの記事を読むべきです


2
  1. おそらく、バージョン9.6.0のPlayServicesを使用しています。次に、それを更新する必要があります。これはライブラリのバグです。詳細はこちら

または

  1. 追加

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

マニフェストファイルに。


1
このトピックは、READ_PHONE_STATE権限の問題についてです。なぜandroid.permission.CAMERA?
Alexander Marochko 2017年

2

アプリでAdSenseやその他の広告を使用していますか、それともGoogle Analyticsを使用していますか?そうすれば、マニフェストにandroid.permission.READ_PHONE_STATEがなくても、これは広告ライブラリによって追加されると思います。

プライバシーポリシーの作成に役立つ可能性のある無料のテンプレートがあります。

これは私がそれについてグーグルから受け取った電子メールです:

Google Playデベロッパーの皆様、こんにちは。私たちの記録によると、パッケージ名xxxのアプリxxxは、現在、個人情報および機密情報に関するユーザーデータポリシーに違反しています。ポリシーの問題:Google Playでは、アプリがユーザーやデバイスの機密情報を要求または処理するときに、開発者が有効なプライバシーポリシーを提供する必要があります。アプリは機密性の高い権限(カメラ、マイク、アカウント、連絡先、電話など)またはユーザーデータを要求しますが、有効なプライバシーポリシーが含まれていません。必要なアクション:アプリのストアリストページとアプリ内に、有効なプライバシーポリシーへのリンクを含めます。詳細については、ヘルプセンターをご覧ください。または、機密性の高い権限やユーザーデータのリクエストを削除して、この要件をオプトアウトすることもできます。カタログに追加のアプリがある場合は、それらが当社の著名な開示要件に準拠していることを確認してください。2017年3月15日までにこの問題を解決してください。そうしないと、Playストアからの削除を含め、アプリの表示を制限するための管理措置が取られます。GooglePlayユーザーに明確で透過的なエクスペリエンスを提供するためにご協力いただきありがとうございます。よろしく、GooglePlayチーム


1
無料のプライバシーポリシーの良い出発
Sebastiano Tognacci 2017

同じメールが届きますが、AdsとGAnalytics以外に別の可能性はありますか?
wanz 2017

2

android.permission.READ_PHONE_STATE許可を取り下げる必要があります。これをマニフェストファイルに追加します。

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

1

1.あなたはあなたのウェブサイト上にプライバシーポリシーページを作成し、あなたが求めている許可のためにあなたのプライバシーポリシーを更新する必要があります。

2.新しいSDKを更新して不要な権限を削除し、アプリを再送信します。




0

2018年の更新:

AdMobユーザーの場合、これによりAdMobバージョン12.0.0(現在は最新バージョン)が発生します。誤ってREAD_PHONE_STATE権限を要求するため、アプリがマニフェストでREAD_PHONE_STATE権限を必要としない場合でも、Google Play Consoleでアプリを更新することはできません(アプリのプライバシーポリシーページを作成するように指示されますが、アプリにはこの権限が必要なため)。

これを参照してください:https//developers.google.com/android/guides/releases#march_20_2018 _-_ version_1200

また、彼らはこれを修正する12.0.1へのアップデートをまもなく公開すると書いています。


0

私は同じ問題に直面していて、GooglePlayにapkをアップロードしているときにエラーが発生しました。アプリで広告を使用しましたが、マニフェストファイルでREAD_PHONE_STATE権限についても言及されていませんでした。しかし、それでも私はこのエラーが発生しました。次に、build.gradleファイルの広告の依存関係を変更します。そしてそれは私の問題を解決しました。彼らは12.0.1でこの問題を解決しました。

compile 'com.google.android.gms:play-services-ads:12.0.1'

0

ステップバイステップでステブを参照してください、そしてあなたは理解するでしょう

public static String getVideoTitle(String youtubeVideoUrl) {
        Log.e(youtubeVideoUrl.toString() + " In GetVideoTitle Menu".toString() ,"hiii" );
        try {

            if (youtubeVideoUrl != null) {
                URL embededURL = new URL("https://www.youtube.com/oembed?url=" +
                        youtubeVideoUrl + "&format=json"
                );
                Log.e(youtubeVideoUrl.toString() + " In EmbedJson Try Function ".toString() ,"hiii" );
                Log.e(embededURL.toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );
                Log.e(new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );

                return new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString();
            }
        } catch (Exception e) {
            Log.e(" In catch Function ".toString() ,"hiii" );

            e.printStackTrace();
        }
        return null;
    }

2
他の人がコードから学ぶことができるように、コードに説明を追加してください
Nico Haase 2018

0

パッケージdevice_idを使用して一意のデバイスIDを取得している場合は、android.permission.READ_PHONE_STATE知らないうちに追加され、最終的にPlayストアの警告が表示されます。

代わりに、追加の許可を必要とせずに、同じ目的でdevice_infoパッケージを使用できます。このSOスレッドを確認してください


0

メッセージを注意深く読むと、カメラ、マイク、連絡先、ストレージ、電話などの権限を使用しており、プライバシーポリシーを提供していないことがわかります。その場合は、プライバシーポリシーを提供する必要があります。あなたはグーグルでアンドロイドプライバシーポリシーについてのより多くの情報を見つけることができます

プライバシーポリシーのインプレイコンソールを追加するには、

  1. すべてのアプリを見つけて選択します。

  2. プライバシーポリシーを追加する必要のあるアプリケーションを選択します。

  3. ページの最後にあるポリシーを見つけてください。

  4. アプリのコンテンツをクリックして、アプリのリストを編集します。

  5. フィールドラベルPの検索rivacyポリシーをし、あなたの個人情報保護方針のページのURLを配置

  6. [保存]をクリックすると、準備が整います

注:プライバシーポリシーをホストするには、公開Webページが必要です。GooglePlayストアはポリシーをホストしません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.