Google Api Error: permissionDeclarationRequiresUpdate - android

My app was taken down from ply store because I was using SMS. I have addressed this issue with SmsRetriever and removed all the SMS permissions I was requesting.
Now when I try and upload to the play store I get the error Google Api Error: permissionDeclarationRequiresUpdate: Permissions declaration for the app requires an update
If I goto play store I am seeing the following
You can't edit this app until you create a new app release declaring sensitive permissions
New permissions added
Warning:
Users that have the APK with version code 129 may need to accept the android.permission.CAMERA permission, which may result in them not upgrading to this version of the app.
Tip:
Ensure that the new permissions are necessary, and consider mentioning these permissions in the What's new in this release text.
Any thought or suggestion on how to resolve this?

Am assuming you are using some sort of a CI.
You need to upload a new build manually with a different version code for other subsequent CI builds to work.
When you create the new release you will get a Permission declaration form. https://support.google.com/googleplay/android-developer/answer/9214102?p=perm_form&visit_id=636857339052822848-3118898021&rd=1
In that declaration form you will have the option
Declare your app's compliance with the Permissions policy.
Select No and check the other options at the bottom.
Submit and wait for their review.

Related

How to remove REQUEST_INSTALL_PACKAGES from previous verison

In previous version of my app I used open_file and unfortunately it used REQUEST_INSTALL_PACKAGES permission.
Now I delete this permission and changed package now Im using open_filex.
Added this code to my manifest file.
<uses-permission
android:name="android.permission.REQUEST_INSTALL_PACKAGES"
tools:node="remove"/>
But can not publish my new version. Google wants me fill the "Sensitive permissions and APIs" - part witch I don't now what case I should to choose.
How can I solve this problem ?
I also tried to add new release in Internal testing but couldn't
I had the same problem, i solved changing the plugin for this:
open_filex
This package is a fork of open_file to fix the following issues:
-Remove REQUEST_INSTALL_PACKAGES permission in Android to comply with GooglePlay publish policies
Remove that code from AndroidManifest. Not required.
Alternatively check if the new package you added contains the permission.
open_file_safe worked for me.
I got this message from Google support.
Thanks for contacting Google Play Developer Support and we apologize for not addressing your query as quickly as expected. We are currently experiencing a huge inflow of support requests which caused the delay in responding to your email.
Your app com.copafacil is not compliant with the Permissions policy. Currently, your app still contains the following permissions in version code 140 (2.49):
android.permission.REQUEST_INSTALL_PACKAGES
After removing these permissions, you can submit a new release with the APK that does not contain these permissions to replace the current active APKs.
The Play Console may still be prompting you to submit a Permissions Declaration Form if you still have active APKs in different tracks. If you have active APKs with permissions in multiple tracks, you have to submit Permissions Declaration Form and update all active tracks with APKs with the permissions. When updating the last track, the form will not be needed. You can also not include or create an empty release (a release without any APKs) for testing tracks as part of this.
To release a new compliant APK, please follow these steps:
Go to your Play Console.
Select the app.
On the left menu, select Release and choose the track (Production or Testing > Open/Closed/Internal) which includes sensitive permissions.
Click “Create new release” or “Manage Track”.
a. Suggested order (if tracks have non-compliant APKs): Internal track > Closed > Open > Production.
If you are required to complete Permissions Declaration Form while releasing the app, please complete the form according to the following instructions:
a. Choose one core functionality (e.g. Default SMS handler) to make a release with compliant APK. This release may automatically lead to rejection but this will not include the non-compliant APK(s) in the track.
Select Save > Review at the bottom of the page.
Click Start Rollout.
a. Please ensure that the new release is rolled out 100% and completely not including the non-compliant APK.
Go back to step 1 to make another release in the track where non-compliant APK(s) are in active status until there is no active APK with sensitive permissions across tracks.
Thanks for working with us through this process and please let us know if you have any further questions.

Google Play rejects app even after removing sensitive permission from app

Our app on Google Play has been rejected because it used sensitive permission REQUEST_INSTALL_PACKAGES.
Firstly we filled permission declaration form but it has been rejected. So we decided to remove this permission from our app.
We uploaded a new APK without this permission but again it has been rejected.
Why it has been rejected? In the google response there is a message:
We found issues in the following areas
APK 1
APK 5
... and so on
Why old apk's are listed there? These APKs are on closed testing tracks but all tests have been paused (Is there any option to delete these tracks? Maybe we should delete them but as I can see here, it is not possible). I read these posts:
https://stackoverflow.com/a/70111717/13363205
https://stackoverflow.com/a/69933431/13363205
https://stackoverflow.com/a/67321821/20598102
https://bapspatil.medium.com/dear-googles-permissions-declaration-form-can-we-break-up-85bc6b62f690
Am I correct that on every track we should upload a new version of an app without this permission so the error will be gone and we will be able to upload new app? Or maybe there is any other better option to do it?
I am currently stuck in the same problem, and here is what I finally did.
Fix all the issues that they mentioned in the emails they sent you.
Create a new build with increased version code and version number.
Wait for the previous review process in the play console to get rejected in all tracks.
Note: Don't upload the new version until the previous review rejects your app.
After rejection, upload the new version and then create a new release in each track (Internal, Open, Closed and Production).
Finally, wait and hope for the best. If everything goes right your app will be published.
Method 2: After fixing everything, change the package name of your app and create a new app in the play console and publish it there.
To change the package name of your app follow this: Rename package in Android Studio

REQUEST_INSTALL_PACKAGES: Permission use is not directly related to your app's core purpose

Google Play Support keeps Rejecting the last deployment of my App.
Below I'm quoting the reason for the reject:
Issue found: Permission use is not directly related to your app's core
purpose. We found that your app is not compliant with how
REQUEST_INSTALL_PACKAGES permission is allowed to be used.
Specifically, the use of the permission is not directly related to the
core purpose of the app.
Additionally, follow these steps to bring your app into compliance:
Please remove the use of REQUEST_INSTALL_PACKAGES permission from your
app.
After removing an unused package that was using the REQUEST_INSTALL_PACKAGES permission, I tried to re-deploy but I've kept getting the app rejected.
I can confirm that the current list of used permissions does NOT include the REQUEST_INSTALL_PACKAGES.
On play.google.com, I checked the permission lists of the last uploaded versions (see attached screenshot).
I also unpacked the lastly uploaded SDK file (using apktool), and searched "REQUEST_INSTALL_PACKAGES" in the extracted folder; of course, no results were found.
Has anyone any suggestion on how to solve this issue?
The same issue occurred with me. My app's previous versions included this permission but in the latest update, I removed them but still received rejection message via mail. Then I found that in the other track (internal testing track), I had an apk with REQUEST_INSTALL_PACKAGES permission. This was the main cause of rejection of my app update. I observed that the form 'App bundles and APKs using sensitive permissions' was showing the internal track's apk information regarding the use of REQUEST_INSTALL_PACKAGES.
So, I tried to deactivate my previous internal track's apk with the new version (that didn't include any REQUEST_INSTALL_PACKAGE permission). Now when I open my form page 'App bundles and APKs using sensitive permissions' again.
Now, it showed that no app bundle or apk uses this sensitive permission.
Hope that it could solve this issue. I am too waiting for my update to be approved.
First step, Check in your manifest merger file if the specified
sensitive permission is shown. Check in release variant. (Most likely
not, if yes, remove this permission)
Second step, In playstore, Go to app bundles explorer and check if
any of the older app bundles have this permission and is still
active. If yes. you have to provide an update to this track. It is
unfortunate that Google play review email does not mention that issue can
be in an older app bundles or other tracks
Provide an update to playstore.
Note, If you want to forcefully remove this permission (if you do not care
which library is adding it)
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" tools:node="remove"/>
If none of the above works. You have to write them an email and clarify.

Google play developer console asks me to remove a permission that does not even exist in the Mainefest

i got the following notification when i upload Flutter my app to Google console.
We found that your manifest file contains the REQUEST_INSTALL_PACKAGES permission.
Starting September 29, 2022, apps that use this permission will not be able to submit >updates for review until they have completed a new sensitive permission declaration.
This declaration will be available in Play Console on August 31, 2022. You'll need to >declare which permitted functionality your app provides, tell us about a core feature in >your app that uses the permission, and provide a video showing its use.
You must remove this sensitive permission from your manifest if your app does not use >the permitted functionalities, or if you no longer use this permission. To learn more, >watch this PolicyBytes video.
Permission description
https://support.google.com/googleplay/android-developer/answer/12085295?hl=en
I checked the Mainefest. The permission is not declared there! How can i delete it!? It does not exist.
If you are using android studio try command + shift + f and type REQUEST_INSTALL_PACKAGES. Select project from the top section. It will display all codes that use this key. Remove the package if its not being used.
Hello Shareef Dweikat,
It seems like you are using a 3rd library that's using this permission
It could be a Huawei SDK
Please double check inside the following path:
app/build/intermediates/merged_manifests

Location permission declaration needs to be updated even after removed permission - App Content - Reject Google Play Console

I am facing one problem regarding Android app new version publishing.
Scenario :
I uploaded initial flutter android app 2 month ago (Dec 2020) to google play store where we had accidentally added Location permission even with no use in code. (Just permission added in Android Manifest).
Now we come up with new version of flutter android app and trying to create new Release version 1.0.2 it shows error while Submitting new release version of app.
Error : Fix errors to rollout this release
Issue is regarding used location permission in my initial app version which is live on play store
Issue need to be fixed : Your background location permission
declaration needs to be updated.
In the App Content it showing error in Sensitive app permissions
Note : In Sensitive app permission - Location Permission. It's not showing Manage Button instead there is a option to location permission declaration form.
We don't want to use location permission now . so we removed location
permissions and trying to upload new release version but still this
location permission (Sensitive App permission) declaration showing
error again and again.
Solution :
First of all fill-out form of declaration for location permission (Any Sensitive permission used in previous rolled out APK version). This will fixed temporary error of App Content - Sensitive Permission Issue.
In my scenario i have added no usage of background location In
declaration and random youtube video link.
After permission declaration you can create/edit new release.
Make sure before adding new release APK to console please analyse APK and make sure that that sensitive permission is not used again. (If you used that sensitive permission again than you need to add valid sensitive permission declaration in AppContent -> Sensitive Permission)
After Creating new release version you can roll out new release version from Release dashboard.
After Roll out go to App content -> Sensitive App Permissions -> click on Manage and Select No Radio Button and Save it.
ITS DONE. Your new release version app will be live soon!
I had the same problem - I didn't need anymore this permission but the APK in prod used this permission (and also some releases of some tests) so the console let me only explain why I needed this permission and didn't display the question if I do use this permission.
When I tried to add new tests I was always rejected because I didn't have a good reason why I needed the background access permission.
If you don't need this permission anymore:
(I don't have the exact name of the sections, actions because I have a non-english language in Google Play Console)
I found a solution that worked for me: App Update is rejected from google play due to Background Location access (But I didn't use any background location Permission).
In App content -> Sensitive App Permissions -> click on Manage -> Click on Display APKs.... You will see all the APKs that use the background permission. Those APKs can be used in Tests or Production.In order to fix the problem you will need this list to be empty.
APK from Test sections:
For each test - search the source of the release (a release from a test of internal tests/closed tests...)
Under the test section, click on Manage (even for suspended tests), click on New Release and add an empty release (without APK) click to examine the release.[Add a new empty release under the test/s that uses a release with an APK that requires the background access permission. Don't add new empty tests].
APK from Production:
You will have to add a new release on Production that doesn't include the background permission.
Now you will see that no APK is displayed when clicking on Display APks... on Sensitive permission... Now when clicking on Manage (under Sensitive permission..) you will have a new question - if you do use the background access. Click on "No" and now you can add new Tests.
I had a similar problem when modifying an application in production that did not use the sensitive permission, but had it declared
The reason that the Play Store Console showed the application stuck in "under review" status was that it could not modify the permission statement, caused by having limited the scope of the app to a single country, limit that was different from the version that was in production
After being able to adjust the regional distribution to all countries, I was able to start the release of a new version that did not use sensitive permissions, with which the permission declaration form could now show me the correct question that had nothing to do with location in background ("Does your app access location in the background in APKs or app bundles targeting Android 9 or older?") according to the documentation in:
https://support.google.com/googleplay/android-developer/answer/9799150?hl=en#zippy=%2Chow-do-i-remove-location-in-the-background
The issue is that an outdated APK/App bundle file was added to the Alpha/Beta testing phase (but never moved to production), and rather than correcting it, he added a new APK/App bundle to the live environment. The Alpha/Beta file is currently being reviewed rather than the new production file due to changes in how reviews are carried out by Google. In Google's denial, you can see the versionCode of the previous APK/App bundle.
The new APK/App bundle file should therefore be added to the same Alpha/Beta as the old one before being promoted to production. Once you have done that, go back to APP CONTENT and you will see there yes/no form. Issue is resolved.

Categories

Resources