Cảnh báo Apk của bạn đang sử dụng quyền yêu cầu chính sách bảo mật: (android.permission.READ_PHONE_STATE)


82

Trong tệp kê khai không được thêm android.permission.READ_PHONE_STATE. sự cho phép.

Tại sao lỗi xảy ra khi tôi tải lên, lỗi phiên bản apk mới có bên dưới.

Ứng dụng của bạn có apk với mã phiên bản 1 yêu cầu (các) quyền sau: android.permission.READ_PHONE_STATE. Các ứng dụng sử dụng các quyền này trong APK bắt buộc phải đặt chính sách bảo mật.

Tôi đã đính kèm ảnh chụp màn hình tài khoản cửa hàng Google Play của mình. nhập mô tả hình ảnh ở đây

tệp kê khai của tôi.

<?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
Quyền có tồn tại trong tệp kê khai mà trước đó bạn đã xóa và chưa tải gói ứng dụng mới lên không?
aconnelly

Không, bạn có thể thấy tệp kê khai của tôi được đính kèm.
Jiks

thêm quyền đọc trạng thái điện thoại trên tệp kê khai của bạn
Noorul

Tôi đã thử thêm và xóa một lần nữa. Công trình không có gì
Narendra Sorathiya

Câu trả lời:


54

Tệp kê khai.xml của ứng dụng của bạn có các quyền này để truy cập thông tin từ thiết bị của bạn nhưng bạn không có liên kết chính sách bảo mật khi gửi trên cửa hàng chơi. vì vậy bạn nhận được cảnh báo này.

Cần chính sách bảo mật cho ứng dụng Nếu ứng dụng của bạn xử lý dữ liệu người dùng cá nhân hoặc nhạy cảm

Thêm chính sách bảo mật vào danh sách cửa hàng ứng dụng của bạn giúp cung cấp sự minh bạch về cách bạn xử lý dữ liệu thiết bị và người dùng nhạy cảm.

****** Cập nhật
Cài đặt chính sách bảo mật trong Google Play Console đã thay đổi vị trí.

Trong Google Play Console,
chọn Sự hiện diện trong cửa hàng> Nội dung ứng dụng.
Trong "Chính sách bảo mật".


18
Có cách nào để tạo chính sách riêng tư từ một mẫu không?
Daniele

Tôi hy vọng bạn sẽ cần hiển thị chính sách bảo mật nhưng bạn không có trang web, có thể tài liệu chính sách bảo mật sẽ là nội dung văn bản, vì vậy cách dễ nhất là chúng tôi có thể tạo tài liệu từ với tất cả thông tin liên quan đến chính sách bảo mật và quyền của bạn sau đó bạn có thể tải nó lên trên bất kỳ nhóm miễn phí nào như hộp thả, v.v. sau đó bạn có thể lấy url để sử dụng khi gửi cửa hàng chơi.
Deva

Tôi đang đối mặt với vấn đề tương tự. tôi đã không sử dụng quyền READ_PHONE_STATE thì tại sao nó lại nói rằng ứng dụng của bạn sử dụng quyền này?
Jaydip Kalkani

2
Vì AdMob. Phiên bản 12.0.0 hiện tại của họ yêu cầu READ_PHONE_STATE (lỗi), ngay cả khi ứng dụng của bạn không có nó trong tệp kê khai. À chính nó đấy. Họ cho biết sẽ sớm phát hành bản cập nhật lên 12.0.1.
blackJack,

1
Cài đặt chính sách bảo mật trong Google Play Console đã được thay đổi đường dẫn. Chọn Sự hiện diện trong cửa hàng> Nội dung ứng dụng. Trong "Chính sách bảo mật".
OnJohn

34

Chỉ cần cố gắng thêm dòng này vào tệp kê khai của bạn:

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

và thêm thuộc tính xmlns:tools="http://schemas.android.com/tools"vào <manifest>thẻ của bạn để xác định các công cụ không gian tên

Từ tài liệu cho tools:node="remove":

Xóa phần tử này khỏi tệp kê khai đã hợp nhất. Mặc dù có vẻ như thay vào đó bạn chỉ nên xóa phần tử này, nhưng việc sử dụng phần tử này là cần thiết khi bạn phát hiện ra một phần tử trong tệp kê khai đã hợp nhất mà bạn không cần và nó được cung cấp bởi một tệp kê khai có mức độ ưu tiên thấp hơn ngoài tầm kiểm soát của bạn (chẳng hạn như một thư viện đã nhập).


2
Điều này cũng có thể làm hỏng các điều khoản cảnh báo khó chịu mà nếu không xuất hiện khi ai đó đang đi để tải về ứng dụng của bạn ... phải có
kwishnu

2
nếu sử dụng cái này, bạn sẽ không thể sử dụng READ_PHONE_STATE
Hoàng Đăng

3
[Lỗi nghiêm trọng]: 50: 95: Tiền tố "công cụ" cho thuộc tính "công cụ: nút" được liên kết với loại phần tử "quyền sử dụng" không bị ràng buộc.
manish kumar

Sử dụng điều này trong tiêu đề tệp kê khai? <tệp kê khai xmlns: android = " schemas.android.com/apk/res/android " xmlns: tools = " schemas.android.com/tools " ...... />
Martin B

6

Các phụ thuộc bạn có trong dự án của mình, sẽ thêm các quyền riêng của chúng. Vui lòng thực hiện các thao tác bên dưới để biết "READ_PHONE_STATE" sẽ đến từ đâu.

  1. Xây dựng lại ứng dụng Android của bạn
  2. Nhấn "Ctrl + Shift + F" trong android studio (về cơ bản thực hiện tìm kiếm tất cả trong trình chỉnh sửa tùy chọn của bạn).
  3. Tìm kiếm "READ_PHONE_STATE", bạn sẽ tìm thấy mục nhập trong tệp kê khai được tạo lại (không phải tệp bạn đã tạo ban đầu). Theo đường dẫn của nó, bạn có thể biết, từ đó quyền phụ thuộc được thêm vào. nhập mô tả hình ảnh ở đây


5

bạn cần chỉ định phiên bản mintarget sdktrong tệp kê khai.
Nếu không, android.permission.READ_PHONE_STATEsẽ được thêm tự động trong khi xuất tệp apk của bạn.

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

Tuyệt quá! Điều đó đã sửa nó. Nó đã được thêm vào khi tôi không xác định mục tiêu.
Tarun

4

Có thể là do bất kỳ lib của bên thứ ba nào có thể bao gồm sự cho phép đó, vì vậy từ kinh nghiệm của tôi trong lĩnh vực này Bạn phải thêm chính sách bảo mật liên quan đến thông tin cụ thể đó, điều đó có nghĩa là nếu bạn yêu cầu được cấp quyền tài khoản trong ứng dụng của mình hơn là bạn phải tuyên bố rằng với tệp chính sách bảo mật của bạn, chúng tôi sử dụng dữ liệu đó, tức là địa chỉ email hoặc bất cứ thứ gì với lý do như để đăng nhập vào trò chơi google play.

Cũng có thể làm điều này

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

Hy vọng điều này sẽ hướng dẫn bạn Những gì bạn có thể làm đối với cảnh báo này, tạo chính sách bảo mật cho ứng dụng của bạn và đính kèm chính sách đó với danh sách cửa hàng .


Cảm ơn :) nhưng điều này sẽ hoạt động <use-allow android: name = "android.permission.READ_PHONE_STATE" tools: node = "remove" />?
PriyankaChauhan

4

Đó là thư viện của bên thứ ba. Bạn có thể tìm ra thủ phạm trongbuild/outputs/logs/manifest-merger-release-report.txt


3

Hiện tại, một số người đang gặp phải vấn đề tương tự do sử dụng 12.0.0phiên bản AdMob lib.

Cập nhật nó thành 12.0.1. Điều này sẽ sửa chữa nó. Bạn có thể đọc thêm tại đây


Liên kết đến các tài nguyên bên ngoài được khuyến khích, nhưng hãy thêm ngữ cảnh xung quanh liên kết để những người dùng đồng nghiệp của bạn sẽ biết nó là gì và tại sao nó ở đó. Luôn trích dẫn phần có liên quan nhất của một liên kết quan trọng, trong trường hợp trang web mục tiêu không thể truy cập được hoặc vĩnh viễn ngoại tuyến.
baduker

Đây là bản sửa lỗi cho tôi. Trong A-Studio, bạn có thể xem "tệp kê khai đã hợp nhất" và nó trỏ đến các Thư viện Google Play.
Matt D.

2

Nếu bạn đang thử nghiệm ứng dụng của mình trên thiết bị> android 6.0, bạn cũng phải yêu cầu người dùng cấp quyền một cách rõ ràng.

Như bạn có thể thấy ở đây READ_PHONE_STATE có một mức độ nguy hiểm.

Nếu một quyền có mức độ nguy hiểm thì người dùng phải chấp nhận hoặc không chấp nhận quyền này theo cách thủ công. Bạn không có sự lựa chọn, bạn PHẢI làm điều này

Để thực hiện việc này từ hoạt động của bạn, hãy thực hiện mã sau:

nếu người dùng sử dụng Android M và chưa cấp quyền, họ sẽ yêu cầu quyền đó.

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);
        }

sau đó ghi đè onRequestPermissionsResulttrong hoạt động của bạn

@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
                }
            }
        }
    }

Bạn nên đọc bài viết này để biết thêm về nó


2
  1. Có thể bạn đang sử dụng PlayServices của phiên bản 9.6.0. Sau đó, bạn nên cập nhật nó, đó là lỗi của thư viện. Thông tin thêm ở đây .

HOẶC LÀ

  1. Thêm vào

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

vào tệp kê khai của bạn.


1
Chủ đề này là về vấn đề quyền READ_PHONE_STATE. Tại sao sử dụng android.permission.CAMERA?
Alexander Marochko

2

Bạn đang sử dụng AdSense hoặc các quảng cáo khác trong ứng dụng của mình hoặc có thể là Google Analytics? Tôi nghĩ nếu bạn làm như vậy, ngay cả khi bạn không có android.permission.READ_PHONE_STATE trong tệp kê khai của mình, điều này sẽ được thư viện quảng cáo thêm vào.

Có các mẫu miễn phí có thể giúp bạn tạo chính sách bảo mật.

Đây là email tôi nhận được từ Google về nó:

Xin chào nhà phát triển Google Play, Hồ sơ của chúng tôi cho thấy rằng ứng dụng của bạn, xxx, với tên gói là xxx, hiện vi phạm chính sách Dữ liệu người dùng của chúng tôi về Thông tin cá nhân và nhạy cảm. Vấn đề về chính sách: Google Play yêu cầu nhà phát triển cung cấp chính sách bảo mật hợp lệ khi ứng dụng yêu cầu hoặc xử lý thông tin nhạy cảm của người dùng hoặc thiết bị. Ứng dụng của bạn yêu cầu các quyền nhạy cảm (ví dụ: máy ảnh, micrô, tài khoản, danh bạ hoặc điện thoại) hoặc dữ liệu người dùng, nhưng không bao gồm chính sách bảo mật hợp lệ. Hành động bắt buộc: Bao gồm liên kết đến chính sách bảo mật hợp lệ trên trang Danh sách cửa hàng của ứng dụng và trong ứng dụng của bạn. Bạn có thể tìm thêm thông tin trong trung tâm trợ giúp của chúng tôi. Ngoài ra, bạn có thể chọn không tham gia yêu cầu này bằng cách xóa mọi yêu cầu về quyền nhạy cảm hoặc dữ liệu người dùng. Nếu bạn có các ứng dụng bổ sung trong danh mục của mình, vui lòng đảm bảo rằng họ tuân thủ các yêu cầu Tiết lộ Nổi bật của chúng tôi. Vui lòng giải quyết vấn đề này trước ngày 15 tháng 3 năm 2017 hoặc hành động quản trị sẽ được thực hiện để hạn chế khả năng hiển thị của ứng dụng của bạn, bao gồm cả việc xóa khỏi Cửa hàng Play. Cảm ơn bạn đã giúp chúng tôi cung cấp trải nghiệm rõ ràng và minh bạch cho người dùng Google Play. Trân trọng, Nhóm Google Play


1
Tôi nghĩ bạn có thể tìm thấy điểm đáng chú ý cho chính sách bảo mật miễn phí tại đây: docracy.com/6516/mobile-privacy-policy-ad-sponsored-apps
Sebastiano Tognacci

Tôi nhận được cùng một email với bạn, có khả năng nào khác ngoại trừ Quảng cáo và Phân tích không?
wanz

2

Bạn nên bỏ android.permission.READ_PHONE_STATEquyền. Thêm cái này vào tệp kê khai của bạn:

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

1

1.Bạn cần tạo trang chính sách bảo mật trên trang web của mình và cập nhật chính sách bảo mật cho các quyền mà bạn đang yêu cầu.

2.Cập nhật SDK mới, loại bỏ các quyền không mong muốn và gửi lại ứng dụng.




0

Cập nhật năm 2018:

Đối với người dùng AdMob, điều này gây ra AdMob phiên bản 12.0.0 (phiên bản mới nhất hiện tại). Nó yêu cầu sai quyền READ_PHONE_STATE, vì vậy ngay cả khi ứng dụng của bạn không yêu cầu quyền READ_PHONE_STATE trong tệp kê khai, bạn sẽ không thể cập nhật ứng dụng của mình trong Google Play Console (nó sẽ yêu cầu bạn tạo trang chính sách bảo mật cho ứng dụng của mình, vì ứng dụng của bạn yêu cầu quyền này).

Xem cái này: https://developers.google.com/android/guides/releases#march_20_2018_-_version_1200

Ngoài ra, họ đã viết rằng họ sẽ sớm xuất bản bản cập nhật lên 12.0.1 để sửa lỗi này.


0

Tôi đã gặp phải vấn đề tương tự và gặp lỗi khi tải apk lên Google Play. Tôi đã sử dụng quảng cáo trong ứng dụng của mình và thậm chí tôi không được đề cập đến quyền READ_PHONE_STATE trong tệp kê khai của mình. nhưng tôi vẫn gặp lỗi này. Sau đó, tôi thay đổi phần phụ thuộc cho các quảng cáo trong tệp build.gradle. và sau đó nó giải quyết được vấn đề của tôi. Họ đã giải quyết vấn đề này trong 12.0.1.

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

0

Xem steb từng bước và bạn sẽ hiểu

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
Vui lòng thêm một số giải thích cho mã của bạn, chẳng hạn người khác có thể học hỏi từ nó
Nico Haase

0

Nếu bạn đang sử dụng gói device_id để lấy id thiết bị duy nhất thì id đó sẽ thêm id android.permission.READ_PHONE_STATEmà bạn không biết, điều này cuối cùng sẽ dẫn đến cảnh báo Cửa hàng Play.

Thay vào đó, bạn có thể sử dụng gói device_info cho cùng mục đích mà không cần thêm quyền. Kiểm tra chuỗi SO này


0

Nếu bạn đọc kỹ thông báo, bạn sẽ thấy rằng bạn đang sử dụng các quyền như máy ảnh, Micrô, Danh bạ, Bộ nhớ và Điện thoại, v.v. và bạn không cung cấp chính sách bảo mật. bạn cần cung cấp chính sách bảo mật nếu bạn làm điều đó. bạn có thể tìm thêm thông tin về chính sách bảo mật của android trên google

Để thêm chính sách bảo mật trong bảng điều khiển trong Play,

  1. Tìm và chọn Tất cả ứng dụng .

  2. Chọn ứng dụng bạn cần để thêm Chính sách quyền riêng tư của mình vào.

  3. Tìm Chính sách ở cuối trang.

  4. Nhấp vào Nội dung ứng dụng để chỉnh sửa danh sách cho ứng dụng của bạn.

  5. Tìm trường có nhãn P chính sách bảo mật và đặt URL của trang Chính sách bảo mật của bạn

  6. Nhấp vào Lưu và bạn đã sẵn sàng.

Lưu ý: Bạn cần có một trang web công cộng để lưu trữ Chính sách quyền riêng tư của mình. Cửa hàng Google Play sẽ không lưu trữ chính sách cho bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.