APK가 개인 정보 보호 정책이 필요한 권한을 사용하고 있다는 경고 : (android.permission.READ_PHONE_STATE)


82

매니페스트에 android.permission.READ_PHONE_STATE가 추가되지 않았습니다. 허가.

새 apk 버전을 업로드 할 때 오류가 발생하는 이유는 다음과 같습니다.

앱에 android.permission.READ_PHONE_STATE 권한을 요청하는 버전 코드 1의 apk가 있습니다. APK에서 이러한 권한을 사용하는 앱에는 개인 정보 취급 방침이 설정되어 있어야합니다.

내 Google Play 스토어 계정의 스크린 샷을 첨부했습니다. 여기에 이미지 설명 입력

내 매니페스트 파일.

<?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

아니요, 내 매니페스트 파일이 첨부되어 있습니다.
Jiks

매니페스트에 읽기 전화 상태 권한을 추가
Noorul

나는 이미 추가하고 다시 제거하려고 시도했습니다. 아무것도 작품
나렌드라 Sorathiya

2
이것을 확인하십시오 : stackoverflow.com/a/42751979/3806413
0xAliHn

답변:


54

앱의 manifest.xml에는 기기의 정보에 액세스 할 수있는 권한이 있지만 Play 스토어에 제출하는 동안 개인 정보 취급 방침 링크가 없습니다. 그래서이 경고를받습니다.

앱이 개인 정보 또는 민감한 사용자 데이터를 처리하는 경우 앱에 대한 개인 정보 보호 정책이 필요합니다.

앱의 스토어 등록 정보에 개인 정보 취급 방침을 추가하면 민감한 사용자 및 기기 데이터를 처리하는 방법에 대한 투명성을 제공하는 데 도움이됩니다.

****** 업데이트
Google Play Console의 개인 정보 보호 정책 설정이 위치를 변경했습니다.

Google Play Console에서
앱 정보> 앱 콘텐츠를 선택합니다.
"개인 정보 보호 정책"에서.


18
템플릿에서 개인 정책을 생성하는 방법이 있습니까?
Daniele

개인 정보 보호 정책을 표시해야하지만 웹 사이트가 없습니다. 개인 정보 보호 정책 문서가 텍스트 콘텐츠 일 수 있으므로 가장 쉬운 방법은 모든 개인 정보 보호 정책 및 권한 관련 정보로 워드 문서를 만들 수 있습니다. 드롭 박스 등과 같은 무료 버킷에 업로드하면 플레이 스토어 제출에 사용할 URL을 얻을 수 있습니다.
Deva

나는 같은 문제에 직면하고 있습니다. READ_PHONE_STATE 권한을 사용하지 않았는데 왜 앱에서 이것을 사용한다고 표시됩니까?
Jaydip Kalkani

2
AdMob 때문입니다. 현재 버전 12.0.0은 앱에 매니페스트에없는 경우에도 READ_PHONE_STATE (버그)를 요청합니다. 그게 다입니다. 그들은 곧 12.0.1에 대한 업데이트를 릴리스 할 것이라고 말했습니다.
blackJack

1
Google Play Console의 개인 정보 보호 정책 설정이 경로가 변경되었습니다. 앱 정보> 앱 콘텐츠를 선택합니다. "개인 정보 보호 정책"에서.
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
이것은 또한 사람이 귀하의 응용 프로그램을 다운로드하려고 할 때, 그렇지 않으면 표시 불쾌한 권한 경고를 우회 ... a는 있어야합니다
kwishnu

2
이 당신이 할 수없는 READ_PHONE_STATE 사용합니다 사용하는 경우
호앙 Đăng

3
[치명적인 오류] : 50 : 95 : "uses-permission"요소 유형과 관련된 "tools : node"속성의 접두사 "tools"가 바인딩되지 않았습니다.
manish kumar

매니페스트 헤더에 이것을 사용 하시겠습니까? <manifest xmlns : android = " schemas.android.com/apk/res/android"xmlns : tools = " schemas.android.com/tools "...... />
Martin B

6

프로젝트에있는 종속성은 자체 권한을 추가합니다. "READ_PHONE_STATE"가 오는 곳을 찾으려면 아래를 수행하십시오.

  1. Android 애플리케이션 다시 빌드
  2. 안드로이드 스튜디오에서 "Ctrl + Shift + F"를 누르십시오 (기본적으로 원하는 편집기에서 모두 검색).
  3. "READ_PHONE_STATE"를 검색하면 다시 생성 된 매니페스트 파일 (원래 생성 한 파일이 아님)에서 항목을 찾을 수 있습니다. 경로를 통해 권한이 추가되는 종속성을 알 수 있습니다. 여기에 이미지 설명 입력


5

매니페스트 파일에서 mintarget sdk버전 을 지정해야 합니다.
그렇지 않으면 android.permission.READ_PHONE_STATEapk 파일을 내보내는 동안 자동으로 추가됩니다.

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

큰! 그것은 그것을 고쳤습니다. 대상을 지정하지 않았을 때 추가되었습니다.
Tarun

4

해당 권한을 포함 할 수있는 타사 lib 때문일 수 있으므로이 분야에서의 경험에 따르면 해당 특정 정보에 관한 개인 정보 보호 정책을 추가해야합니다. 귀하의 개인 정보 보호 정책 파일과 함께 우리는 이메일 주소 또는 Google Play 게임 로그인과 같은 이유로 그 데이터를 사용합니다.

또한 이것을 할 수 있습니다

<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


3

현재 일부 사람들은 12.0.0AdMob lib 버전을 사용하기 때문에 동일한 문제에 직면하고 있습니다.

로 업데이트하십시오 12.0.1. 이것은 그것을 고칠 것입니다. 여기에서 더 많은 것을 읽을 수 있습니다


외부 리소스에 대한 링크가 권장되지만 링크 주변에 컨텍스트를 추가하여 동료 사용자가 그것이 무엇인지, 왜 거기에 있는지 알 수 있도록하십시오. 대상 사이트에 연결할 수 없거나 영구적으로 오프라인 상태가되는 경우를 대비하여 항상 중요한 링크에서 가장 관련성이 높은 부분을 인용하십시오.
baduker

이것은 나를위한 해결책이었습니다. A-Studio에서 "병합 매니페스트"를 볼 수 있으며 Google Play 라이브러리를 가리 킵니다.
Matt D.

2

Android 6.0 이상의 기기에서 앱을 테스트하는 경우 사용자에게 권한 부여를 명시 적으로 요청해야합니다.

당신이 볼 수 있듯이 여기에 READ_PHONE_STATE 위험한 수준이있다.

권한에 위험 수준이있는 경우 사용자는이 권한을 수동으로 수락하거나 거부해야합니다. 당신은 선택의 여지가 없어, 당신은 반드시 이 작업을 수행

활동에서이를 수행하려면 다음 코드를 실행하십시오.

사용자가 Android M을 사용하고 아직 권한을 부여하지 않은 경우 요청합니다.

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

앱에서 애드 센스 또는 기타 광고를 사용하고 있습니까? 아니면 Google Analytics를 사용하고 있습니까? 그렇게하면 매니페스트에 android.permission.READ_PHONE_STATE가 없더라도 광고 라이브러리에 의해 추가됩니다.

개인 정보 보호 정책을 만드는 데 도움이 될 수있는 무료 템플릿이 있습니다.

다음은 Google에서받은 이메일입니다.

안녕하세요, Google Play 개발자 님, Google 기록에 따르면 패키지 이름이 xxx 인 귀하의 앱 xxx가 현재 개인 및 민감한 정보에 관한 Google의 사용자 데이터 정책을 위반하고 있습니다. 정책 문제 : Google Play에서는 앱이 민감한 사용자 또는 기기 정보를 요청하거나 처리 할 때 개발자가 유효한 개인 정보 취급 방침을 제공하도록 요구합니다. 앱이 민감한 권한 (예 : 카메라, 마이크, 계정, 연락처 또는 전화) 또는 사용자 데이터를 요청하지만 유효한 개인 정보 취급 방침이 포함되어 있지 않습니다. 필요한 조치 : 앱의 스토어 등록 정보 페이지와 앱 내에 유효한 개인 정보 취급 방침 링크를 포함하세요. 도움말 센터에서 자세한 정보를 찾을 수 있습니다. 또는 민감한 권한 또는 사용자 데이터에 대한 요청을 제거하여이 요구 사항을 옵트 아웃 할 수 있습니다. 카탈로그에 추가 앱이있는 경우 그들이 우리의 눈에 띄는 공개 요구 사항을 준수하는지 확인하십시오. 2017 년 3 월 15 일까지이 문제를 해결하지 않으면 Play 스토어에서 삭제하는 것을 포함하여 앱의 표시를 제한하는 관리 조치가 취해집니다. Google Play 사용자에게 명확하고 투명한 환경을 제공하는 데 도움을 주셔서 감사합니다. 감사합니다. Google Play 팀


1
내가 무료로 개인 정보 보호 정책에 대한 좋은 응시 지점이 여기에서 찾을 수 있습니다 생각 : docracy.com/6516/mobile-privacy-policy-ad-sponsored-apps
세바스티아노 Tognacci

동일한 이메일을 받았습니다. Ads 및 GAnalytics 외에 다른 가능성이 있습니까?
wanz

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

동일한 문제에 직면했고 APK를 Google Play에 업로드하는 동안 오류가 발생했습니다. 내 앱에서 광고를 사용했는데 매니페스트 파일에 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
다른 사람들이 배울 수 있도록, 코드에 약간의 설명을 추가하세요
니코 하세에게

0

device_id 패키지를 사용하여 고유 한 장치 ID를 얻는 경우 사용자 모르게이 추가 android.permission.READ_PHONE_STATE되어 결국 Play 스토어 경고가 표시됩니다.

대신 추가 권한없이 동일한 목적으로 device_info 패키지를 사용할 수 있습니다 . 이 SO 스레드 확인


0

메시지를주의 깊게 읽으면 카메라, 마이크, 연락처, 저장소 및 전화 등과 같은 권한을 사용하고 있으며 개인 정보 보호 정책을 제공하지 않음을 알 수 있습니다. 그렇게하는 경우 개인 정보 보호 정책을 제공해야합니다. Google에서 Android 개인 정보 보호 정책에 대한 자세한 정보를 찾을 수 있습니다.

개인 정보 보호 정책 In-Play Console을 추가하려면

  1. 모든 앱을 찾아 선택 합니다.

  2. 개인 정보 보호 정책을 추가해야하는 애플리케이션을 선택하십시오.

  3. 페이지 끝에서 정책 을 찾으십시오 .

  4. 앱 콘텐츠 를 클릭 하여 앱 목록을 편집합니다.

  5. 레이블이 붙은 필드 P의 찾기 rivacy 정책 및 개인 정보 보호 정책 페이지의 URL을 배치

  6. 저장을 클릭 하면됩니다.

참고 : 개인 정보 보호 정책을 호스팅하려면 공개 웹 페이지가 있어야합니다. Google Play 스토어는 귀하를 위해 정책을 호스팅하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.