7

Status: Approved with Issues - Further Action Required We found issues with your app. You need to review and take action as described below, so that your app is not impacted in the future.

Issue found: Use of permission is not directly related to the core purpose of the app. 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. About the Request Install Packages Permission Starting September 29, 2022, your app must be in compliance with the REQUEST_INSTALL_PACKAGES permission or your app may face additional enforcement actions. The REQUEST_INSTALL_PACKAGES permission allows an application to request the installation of app packages. To use this permission, your app’s core functionality must include:

Sending or receiving app packages, AND Enabling user-initiated installation of app packages. Permitted functionalities include any of the following:

Web browsing or search Communication services that support attachments File sharing, transfer or management Enterprise device management The REQUEST_INSTALL_PACKAGES permission may not be used to perform self updates, modifications, or the bundling of other APKs in the asset file unless for device management purposes. All updates or installing of packages must abide by Google Play’s Device and Network Abuse policy and must be initiated and driven by the user.

For more help addressing this issue, read more in our Help Center.

Loki
  • 89
  • 1
  • 1
  • 2
  • 1
    Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking. – Community Sep 22 '22 at 08:12
  • I am getting request install package permission issue.. stack_bundle 1 ... I have changed open file to open safe file but still getting this issue do not know how to remediation? Can someone help. Have done the tools thing as well – Vrajendra Singh Mandloi Feb 03 '23 at 18:25
  • Why do you need `REQUEST_INSTALL_PACKAGES` for your use case? – IgorGanapolsky Mar 08 '23 at 20:50

6 Answers6

16

If your app does not install other apps externally, simply add the following permission to the manifest.

   <uses-permission
    android:name="android.permission.REQUEST_INSTALL_PACKAGES"
    tools:node="remove"/>
Manish Ahire
  • 550
  • 4
  • 19
  • I received the same notification from the Google Play Console. Since my app does not use that functionality, I actually used numerous third-party libraries on which one of my private libraries had that permission. In order to avoid this situation, I forcibly removed the permission from the manifest. – Manish Ahire Oct 11 '22 at 10:24
  • I have scanned entire source code and verified in AndroidManifest.xml and Merged manifests for individual plugins as well. But, no where I haven't found that. Is there any way we can justify to Google Play team – aswanth bonthala Oct 11 '22 at 14:38
  • You can write to the Google team if you are certain that any of your libraries do not have that permission. You can also read the article "Request Install Packages Permission" at https://support.google.com/googleplay/android-developer/answer/9888170 for more details. – Manish Ahire Oct 12 '22 at 05:07
  • This uses-permission adds it to the build/app/outputs/logs/manifest-merger-release-report.txt – Thomas Degroot Oct 17 '22 at 15:53
  • 2
    Please add "xmlns:tools="http://schemas.android.com/tools" this to your manifest, otherwise you will get an error for tools:node="remove". – Md omer arafat Oct 20 '22 at 04:08
  • I'm facing the same issue with my app, but I DO have node=remove attribute in my manifest for ages and I checked that my merged manifest does not contain it. Any ideas? this is my question - https://stackoverflow.com/questions/74177784/google-play-keeps-asking-me-to-remove-request-install-packages-but-my-merged-ma – AlexeyGorovoy Oct 24 '22 at 11:26
  • @AlexeyGorovoy Please add "xmlns:tools="schemas.android.com/tools" in your Manifest – Manish Ahire Oct 25 '22 at 02:23
  • @ManishAhire I have that and without it the app would not compile. – AlexeyGorovoy Oct 25 '22 at 07:14
  • facing same issue..can not update my app :( – Musfick Jamil Oct 26 '22 at 05:43
  • I am getting STACK_BUNDLE 1 Issue for request install package .. can someone help what can be done?? Have tried adding the remove.. but Google Play rejects the app – Vrajendra Singh Mandloi Feb 03 '23 at 18:22
  • What if my app DOES want to install other apps externally? – IgorGanapolsky Mar 08 '23 at 20:44
  • @IgorGanapolsky In such scenario, you must make a 90-second or shorter video explaining why you wish to use that feature as well as how it functions with all the locations and methods you used it. This what google says "To help us review your app, provide a link to a short video which shows your app being opened, and the core feature you've described being used. If it isn't obvious from the user interface how the REQUEST_INSTALL_PACKAGES permission is being used, provide a voice-over or captions to help explain." – Manish Ahire Mar 09 '23 at 05:19
13

I faced the same issue yesterdey. This permission used by open_file package. you can user alternative packages such as better_open_file or open_filex or you can by pass this permission by adding belove code to AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="{you package name}" 
xmlns:tools="http://schemas.android.com/tools">

and in permissions section add this code:

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

good luck

Mohammad Jamali
  • 238
  • 3
  • 5
  • Hi @jamali, I also face same issue because I used flutter_downloader package and the feature I used that does not necessary to use this permission. So I add remove flag in AndroidManifest.xml. My question is what is next. How to fill the form in Google Play Console. There are alot of check box option. May I know how to answer the question. Regards - Alex – Alex Aung Jun 26 '23 at 14:04
  • Hi @AlexAung, if your app doesn't need this permission you should add this permission with tools:node="remove" section so the play store analize system can realize this permission didn't required for your app and needed for library. – Mohammad Jamali Jul 18 '23 at 05:50
9

If you are going to delete this permission from manifest of your app. You need to do these:

REMEMBER It's unnecessary to remove any pub.dev package which uses REQUEST_INSTALL_PACKAGES permission, after adding this to your manifest

android:name="android.permission.REQUEST_INSTALL_PACKAGES" tools:node="remove"/>

because, they remove all such kinda permission from merged manifest file(make sure that manifest opening tag involve xmlns tools like that

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="YOU_APP_PACKAGE_NAME">

ONE OF THE MOST IMPORTANT STEP: You need to update all Open Testing, Internal testing and Closed testing (all tracks even if they are not active). Update your Production channel too. You can check that you updated all required ones in Policy -> App content -> App bundles and APKs using sensitive permissions section. If section is not shown here, then you updated all tracks and channels

AFTER DOING JUST THESE SIMPLE BUT REQUIRED STEPS, YOUR NEW VERSION WILL BE ACCEPTED. GUARANTEED

Jakhongir Anasov
  • 1,207
  • 7
  • 16
8

I faced the same issue a month ago. This is related to the open_file package using REQUEST_INSTALL_PACKAGES permission in the manifest.

Issue: https://github.com/crazecoder/open_file/issues/204

The recommended solution is to use this fork: https://github.com/bertoldofonseca/better_open_file

Harish
  • 649
  • 5
  • 11
  • hi, i am facing this same issue now, so after i replaced the open_file, how can i update the app bundle on the play console – Yusuf Oct 12 '22 at 08:47
  • Upload a new release to playstore – Harish Oct 18 '22 at 17:19
  • I have remove open_file plugin but still I'm facing this problem – shilpa navale Nov 03 '22 at 04:43
  • 1
    You can double check if the permission is still there or not by going to your manifest file and click on "Merged Manifest". After you confirm that its not there anymore, you probably need to do 100% rollout to completely replace the previous version. Also make sure you to update other tracks as well. – Alooza Nov 03 '22 at 09:40
3

Remove the permission from your manifest and in-app functionality. Double check that your app is compliant with all other Developer Program Policies. Sign in to Play Console and submit the update to your app. Alternatively, you may also choose to deactivate these versions to avoid additional enforcements that could occur. You may follow the given steps to deactivate the non-compliant app bundles or APKS:

  1. Go to your Play Console.
  2. Select the app.
  3. Go to the track where the non-compliant APK or app bundle is.
  4. Near the top right of the page, click Create new release. (You may need to click Manage track first) If the release with the violating APK is in a draft state, discard the release.
  5. Under the new release page, you can choose to: A) Upload a new, compliant APK/app bundle and make sure the new release is rolled out 100% to completely deactivate the non-compliant APK. B) Not upload any new APK/app bundle (publish an empty release to just deactivate the non-compliant old version).
  6. Regardless of what you choose in step 5, please make sure that the non-compliant version of APK/app bundle is under the Not included section of this new release. For further guidance, please see the "Not included (app bundles and APKs)" section in the Play Console Help article.
  7. To save any changes you make to your release, select Save. When you've finished preparing your release, select Review release.
  8. If the non-compliant APK is released to multiple tracks, repeat steps 3-8 in each track.
cvg
  • 51
  • 2
  • Would have been nice if Google could just mention the track where this permission is found. Now you have to dig through all the tracks and production versions just to see where this occurs. And even if the track is paused/inactive, you'll still get this error. And no, you can't just remove/delete the release- you have to reupload a newer APK to replace the old one. FFS – Pierre Nov 02 '22 at 08:23
  • 1
    Thank you @cvg for the answer, problem solved. In our case the new version was rejected (after cleaned from the offending permission) because we had old tracks of alpha and beta (deactivating the tracks has solved the first part of the problem) and the new release was rolled out not for 100% (this was the most difficult part to discover, in fact you put that in bold). Thank you. – Fabio Pagano Nov 02 '22 at 21:15
  • @Pierre You can find the track(s) with the problem appbundle by going to Policy at the bottom of the left-hand column of the Console, then select App Content. In the section there for RQUEST_INSTALL_PACKAGES, select Start, then "View app bundles" (sorry I don't remember the exact wording). You'll see a list of app bundles and their tracks. – Alan M Nov 03 '22 at 16:56
  • @AlanM thanks, will keep that in mind next time. – Pierre Nov 04 '22 at 04:54
1

Experienced the same issue a week ago. Check your builds in the Internal Testing or any other environments. Because I received the same email, but there was no information about where exactly this permission exists. Because I removed it from production build. But when I wrote to policy status technical support - they answered that the issues in the build in the Internal testing environment. I updated the build for Internal Testing and app in production was accepted.

I don't know why I have to update build in the Internal testing, because I haven't updated it for months. But rules are rules.

Daria
  • 41
  • 1
  • 7