Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why I am receiving Warning - this app does not meet Google Play permissions policy, even though my latest version doesn't require these permission?

It show this message

This app does not meet the Google Play permissions policy relating to the use of SMS or CALL_LOG. You must fix this before March 9. 2019 or your app will be removed from Google Play. Note: if you have recently made a change, it can take up to 12 hours to update this message.

My app on its previous version has this permission and apply for an exception when it was rejected I updated the app 2 weeks ago and removed this permission. But now I get this message.

like image 975
Aman Avatar asked Feb 11 '19 20:02

Aman


People also ask

How do I get rid of sensitive permissions to allow for app update on Google Play console?

You can also prepare and roll out your release using the Play Console web UI by following these steps: Upload your app bundle with high-risk or sensitive permissions requested. Complete the Permissions Declaration Form as above. Complete the rollout of the release using the Play Console web UI.


1 Answers

I also received this warning on my last app version.

Explanation: You are receiving this warning because somehow directly or indirectly you are using some permissions which does not meet the Google Play permissions policy.

Indirectly means, may be any of the 3rd party library you are using in your project is already using those permissions. And when you build your project it merged all the Manifest file in a single Merged Manifest file. This is the reason you are getting this warning because your final manifest has any of those permission(s).

Solution 1: After build your project,

  • Open your project's AndroidManifest file.
  • Open the Merged Manifest tab in the bottom.
  • Search for any of those permission. (example- READ_SMS)
  • If you get any, now it's time to remove them. Check the example

Example: If you see READ_SMS permission in Merged Manifest file, so now open your project's AndroidManifest file and add the line written below to remove that permission from your project-

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

Add the above permission line in your AndroidManifest file, and that's it. It will remove the Permission from the Merged Manifest file and your issue will be resolved.

AndroidManifest file

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

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

    <application
        android:name=".MyApp"
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning"
        tools:replace="android:allowBackup">

        <activity
            android:name=".SplashActivity"
            android:screenOrientation="portrait"
            android:theme="@style/FullscreenTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

Solution 2: Replace/Remove those 3rd Party library which are using these permissions.

UPDATE:

Solution 3: For safe side you can add these lines in your AndroidManifest file.

<uses-permission
    android:name="android.permission.RECEIVE_SMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.READ_SMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.SEND_SMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.WRITE_SMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.RECEIVE_WAP_PUSH"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.RECEIVE_MMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.READ_CALL_LOG"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.WRITE_CALL_LOG"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.PROCESS_OUTGOING_CALLS"
    tools:node="remove" />

these lines will remove all the restricted permission(s) according to Permission Policy if any used.

Hope it will be helpful.

like image 159
D_Alpha Avatar answered Oct 25 '22 22:10

D_Alpha