'Google Play App Rejection - Not a core feature - Use of All files access

I have an application on play store to whom the targetSdkVersion is update to 30 from 29, which is getting rejected again and again by Google Play after an update.

Previously, there was a permission of MANAGE_EXTERNAL_STORAGE in one of the SDK Manifest.

After removing MANAGE_EXTERNAL_STORAGE permission and storage permission (WRITE_EXTERNAL_STORAGE) completely from my app, uploading the app on store, app update gets rejected again.

This is the email received from Google Play for the rejection reason.

Note: I am saving all my media files in app-specific internal storage.

Also, I have the permission of READ_EXTERNAL_STORAGE in my SDK as we have chat feature in our app to get images and videos of device to sent it.

According to Use of All files access (MANAGE_EXTERNAL_STORAGE) permission READ_EXTERNAL_STORAGE permission has not impact.

Attached reference.

Update

I also removed READ_EXTERNAL_STORAGE permission from the app, but still got the rejection with same reason from Google Play.

Is the issue with Storage Policy, or something else?



Solution 1:[1]

My Android rejected build is approved finally after 3 weeks of headache.

Basically, Google was checking old APK, if it is available in any of the track (Internal, Open, Closed or Production) with Policy Violation.

So, in this regard you have to roll out the app to 100% in the track which has this Policy violation. Which will deactivate the old build.

I wasn't rolling out the new app to 100%.

Thanks to Google Policy Team.

Solution 2:[2]

I had the same error for a month but finally, Google Play Store accepted my uploads.

Briefly, what I did was to create new builds for each track, and -interestingly- it worked!

(Before my countless update trials, our latest version on Production was 2.23.5 (build 1), our active tracks were Internal Testing Track and Production, and I was trying to upload my updates to Internal Testing Track.)

Below are the steps that I've applied:

  1. Created a new build 2.24.1 (build 1) with all necessary changes. (e.g. upgrading targetSdkVersion to 30, removing MANAGE_EXTERNAL_STORAGE permission, etc.)
  2. Activated our inactive tracks (Open, Closed Alpha, and Beta Testing Tracks), uploaded the same build 2.24.1 (build 1) to these tracks, and then paused those tracks. (I've paused them as I won't use them actively, you may not want to pause it)
  3. Created another build 2.24.1 (build 2) which was completely the same as build 1. I've just updated its build number.
  4. Uploaded 2.24.1 (build 2) to the Internal Testing Track.
  5. Created another build 2.24.1 (build 3) which was completely the same as build 3. I've just updated its build number.
  6. Uploaded 2.24.1 (build 3) to the Production Track.
  7. Went to "Publishing Overview" page, activated Managed Publishing in order to manually publish my uploads to Production and other tracks as they got accepted.
  8. Sent these uploads to review at once and voila, Google accepts your uploads!

Sarcasm on.

Hereby, I would like to congratulate Google Play Support as they've shared all these details within their documentation, within their rejection e-mails, and within their super fast response to the appeal.

Sarcasm off.

I've found this solution referencing from this answer https://stackoverflow.com/a/69933431/2833718. I couldn't find any help from Google's official docs. They've always rejected my uploads with the same e-mail which is impossible to decode for a human being. They've never returned to my appeal.

This migration and support process was completely a failure.

Thank you Google Play Support, you are everything but support to developers.

Solution 3:[3]

I Found a solution for my issue . Actually there was another channel in google play "Internal Testing channel" That has a build with permissions . You need to remove/Update any builds inside any channels to be empty from any Sensitive/ Highly risk permission.

Solution 4:[4]

One method for solve your problem, is start one new app. But when you for config your app, put disable the iten that say about file sms and file critical.

Resume, your app is been reject because the uour pre config. And not by your code.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Muhammad Awais
Solution 2 Mehmet Sedat Güngör
Solution 3 razan barham
Solution 4 Marcio Luiz Momi