# Google Play: REQUEST_INSTALL_PACKAGES permission rejected

> Google Play rejected the app for REQUEST_INSTALL_PACKAGES. Remove the permission unless installing packages is the app’s core purpose, or declare it.

Canonical: https://app369.com/fix/google-play-request-install-packages-permission/
Last updated: 2026-11-09

REQUEST_INSTALL_PACKAGES is the Android permission that lets an app ask to install other app packages. Google Play treats it as high risk and allows it only when installing packages is part of the app’s core functionality.

**Short answer**

Check the merged manifest for the permission. If the app’s main purpose is not to send or receive app packages and let users install them, remove it, including when a library added it, and use Google Play for app updates. If it does qualify, fill in the Permissions Declaration Form in Play Console and describe the feature in the store listing.

Rather not fix it yourself? [**App Fix Ticket**](https://app369.com/fixed-price/flutter-firebase-bug-fix/) starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.

## **Why Google Play rejects the permission, and the fix**

1. 01 ### **The app updates itself with a downloaded APK**
  > “protecting users from apps that self update using any method other than Google Play's update mechanism or download harmful APKs.” [**Google Play, Use of the REQUEST_INSTALL_PACKAGES permission**](https://support.google.com/googleplay/android-developer/answer/12085295?hl=en) A self-update flow that downloads and installs a new APK is the use Google Play is trying to stop. Remove it and use Google Play’s in-app updates instead, so updates come through the store.
2. 02 ### **A library added the permission**
  > “an element in your merged manifest that you don't need that was provided by a lower-priority manifest file that's out of your control (such as an imported library)” [**Android Developers, Manage manifest files**](https://developer.android.com/build/manage-manifests) An SDK or plugin, such as a file opener or an updater, can add the permission through manifest merging. Check the merged manifest in Android Studio, then remove the permission in your own manifest.```
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
  <uses-permission
      android:name="android.permission.REQUEST_INSTALL_PACKAGES"
      tools:node="remove" />
</manifest>
```
3. 03 ### **Installing packages is not the app’s main purpose**
  > “Permitted uses include: Web browsing or search; OR Communication services that support attachments; OR File sharing, transfer or management; OR Enterprise device management.” [**Google Play, Use of the REQUEST_INSTALL_PACKAGES permission**](https://support.google.com/googleplay/android-developer/answer/12085295?hl=en) Google Play lists the permitted uses: the ones below, plus backup and restore, and device migration or phone transfer. An app outside them must remove the permission; a use not directly related to the app’s core purpose is not allowed.
4. 04 ### **The use qualifies but was not declared**
  > “The core functionality, and any core features that comprise this core functionality, must all be prominently documented and promoted in the app's description.” [**Google Play, Use of the REQUEST_INSTALL_PACKAGES permission**](https://support.google.com/googleplay/android-developer/answer/12085295?hl=en) A permitted app still needs the Permissions Declaration Form in Play Console, and the store description has to show the install feature.
5. 05 ### **The declaration no longer matches the app** Also check: a declaration filed for an older version goes stale when the feature changes. Update it in Play Console with the current use before the next release.

Checked against the vendor’s docs on November 9, 2026: [Google Play Help: Use of the REQUEST_INSTALL_PACKAGES permission](https://support.google.com/googleplay/android-developer/answer/12085295?hl=en); [Android Developers: Manage manifest files](https://developer.android.com/build/manage-manifests); [Android Developers: In-app updates](https://developer.android.com/guide/playcore/in-app-updates).

## **Rather hand it over?**

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

- [from $450**App Fix Ticket**One reproducible bug in an existing mobile or web app, diagnosed and fixed.**See scope and start**](https://app369.com/fixed-price/flutter-firebase-bug-fix/)

[**All 127 Fiverr reviews**](https://app369.com/reviews/)

Related: [**Google Play QUERY_ALL_PACKAGES permission**](https://app369.com/fix/google-play-query-all-packages-permission/) · [**Google Play photo and video permissions**](https://app369.com/fix/google-play-photo-video-permissions/) · [**Google Play prominent disclosure and consent**](https://app369.com/fix/google-play-prominent-disclosure-consent/) · [**Google Play exact alarm permission**](https://app369.com/fix/google-play-exact-alarm-permission/)

Questions

## **More on this launch**

<details>

<summary>**Can an app update itself outside Google Play? **+</summary>

Google Play’s stated aim is to stop apps that self update outside its update mechanism, so use Google Play’s in-app updates unless installing packages is the app’s core purpose.

</details>

<details>

<summary>**Can you fix it for me? **+</summary>

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

</details>

Something else?

## **Describe it and get a written quote**

Describe the app and where it is in the launch. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.

[**Describe your problem **→](https://app369.com/contact/) [**All fixes**](https://app369.com/fix/)