Understanding Android Scoped Storage: Impact and Workarounds

12 min read A comprehensive guide to Android scoped storage, its impact on file access, and step‑by‑step methods to manage files safely across Android versions. October 05, 2026 21:00 Understanding Android Scoped Storage: What It Means, How It Affects Your Files, and Practical Workarounds

Before you start

Before diving into scoped storage, make sure you:

  • Know the Android version running on your device (Settings > About phone > Android version).
  • Have a recent backup of important data – either via Google Drive, a PC, or a trusted backup app.
  • Are connected to a stable Wi‑Fi network if you plan to download additional file‑manager apps.
  • Have a computer handy for ADB steps (install the Android SDK Platform‑Tools and enable Developer options > USB debugging).
All the methods described work without rooting the device. Some require you to grant special permissions that may be rejected by the Play Store if you intend to distribute an app.

What is Scoped Storage?

Scoped storage is a set of storage‑access rules introduced by Google to isolate each app’s private files from the rest of the system. Instead of a flat /sdcard hierarchy that every app could read or write, Android now partitions storage into:

  • App‑specific directories (e.g., /sdcard/Android/data/com.example.app/files) – automatically deleted when the app is uninstalled.
  • Media collections managed by the MediaStore database (photos, videos, audio). Apps request access to these collections via the MediaStore API.
  • Shared storage accessed through the Storage Access Framework (SAF) – a system UI that lets users pick a folder or file.

The goal is to give users finer control over which apps can see their personal files, reducing accidental data leaks and simplifying permission management.

Why Google introduced Scoped Storage

Before Android 10, any app that held READ_EXTERNAL_STORAGE or WRITE_EXTERNAL_STORAGE could freely roam the entire external storage tree. This caused several problems:

  • Malicious apps could harvest photos, documents, or logs without the user’s explicit consent.
  • Backup and restore utilities often duplicated data unnecessarily, leading to wasted space.
  • Developers struggled with a fragmented storage model across OEM skins.

Scoped storage addresses these issues by:

  • Limiting default access to app‑specific folders.
  • Requiring explicit user interaction (SAF) for broader file access.
  • Providing a clear, version‑stable API (MediaStore) for media files.

How Scoped Storage evolved across Android versions

Understanding the version timeline helps you decide which workaround is appropriate.

Android versionDefault storage modelKey user‑visible changes
Android 9 (Pie)Legacy flat storage (optional scoped mode)Developers could opt‑in via requestLegacyExternalStorage="true" in the manifest.
Android 10Scoped storage enforced for new apps; legacy mode still available for existing apps.Introduced MANAGE_EXTERNAL_STORAGE (all‑files access) as a special permission, but Play Store limited its use.
Android 11Scoped storage mandatory for apps targeting API 30.All‑files access requires a special Play Store declaration and a user‑visible permission dialog.
Android 12‑13Same as Android 11 with minor refinements (e.g., automatic migration of media files).SAF picker now supports folder‑level persistence, reducing repeated permission prompts.

Real‑world impact on common tasks

Even if you never write code, scoped storage changes how you interact with your phone:

  • File managers that previously displayed every folder now hide app‑private directories unless they use SAF.
  • Backup apps need to request the MANAGE_EXTERNAL_STORAGE permission or rely on ADB to pull data.
  • ADB push/pull commands that target /sdcard/ may fail with “Permission denied” if the target app does not have legacy storage.
  • Media apps can no longer write directly to /sdcard/DCIM without using MediaStore.

Practical workarounds for end users

Below are the most reliable ways to regain the flexibility you expect from a file system, while staying within Android’s security model.

1. Use the Storage Access Framework (SAF)

SAF is the official way to let a user choose a folder or file. Most modern file‑manager apps (Solid Explorer, FX File Explorer, Files by Google) are built on SAF, so they can browse any location you grant them.

  1. Open the file‑manager app of your choice.
  2. Navigate to the “Add storage” or “Grant access” option – wording varies by app.
  3. Select the folder you want the app to manage (e.g., /sdcard/Download or a custom folder on the SD card).
  4. Confirm the system picker dialog. The app now retains persistent access to that folder.

After this, you can copy, move, rename, or delete files inside the chosen folder just like before.

2. Enable “All files access” (MANAGE_EXTERNAL_STORAGE) for a specific app

Android 11+ allows a user to grant a single app the ability to read/write anywhere on external storage. This is useful for backup utilities or advanced file managers.

  1. Install the target app (e.g., Solid Explorer).
  2. Open Settings > Apps & notifications > See all apps > Solid Explorer.
  3. Tap Permissions > All files access (or “Manage all files”).
    • If the toggle is greyed out, the app must declare the permission in its manifest; most reputable file managers already do.
  4. Confirm the warning dialog – Android will remind you that the app can see all your files.
  5. Return to the app; you should now be able to navigate the full /sdcard tree.

Warning: Granting this permission essentially disables scoped storage for that app. Only grant it to apps you trust, and consider revoking it when you’re done.

3. Use ADB to give an app legacy storage rights

For devices where you cannot or do not want to use the UI toggle, ADB can force the legacy mode for a specific package. This works on Android 10‑13.

  1. Connect your phone to a PC with USB debugging enabled.
  2. Open a terminal and verify the connection: adb devices.
  3. Run the following command, replacing com.example.app with the target package name:
    adb shell appops set com.example.app LEGACY_STORAGE allow
  4. Launch the app; it now sees the full external‑storage path just like on pre‑Android 10 devices.
  5. To revert, run:
    adb shell appops set com.example.app LEGACY_STORAGE deny

This method does not require the app to request MANAGE_EXTERNAL_STORAGE, making it handy for older utilities that haven’t been updated.

4. Access hidden files from a PC using ADB pull/push

If a file manager cannot see a folder, you can still retrieve it with ADB. The trick is to use the run-as command for apps that allow it, or to pull from the public /sdcard path.

  1. Identify the absolute path of the file (e.g., /sdcard/Android/data/com.example.app/files/config.json).
  2. Pull the file to your PC:
    adb pull "/sdcard/Android/data/com.example.app/files/config.json" ./config.json
  3. If you receive “permission denied”, first grant the legacy storage flag (see method 3) and retry.

5. Use a third‑party file manager that fully supports SAF

Not all file managers are created equal. Apps that rely on the old READ_EXTERNAL_STORAGE model will show an empty or partial view on Android 11+. Recommended choices:

  • Solid Explorer – supports both SAF and All‑files access.
  • FX File Explorer – lightweight, SAF‑first.
  • Files by Google – Google’s own implementation, good for cleaning and moving files.

Step‑by‑step example: Granting All‑files access to Solid Explorer

  1. Install Solid Explorer from the Play Store.
  2. Open Android Settings > Apps > Solid Explorer > Permissions.
  3. Tap “All files access”. If you do not see this option, scroll down to “Special app access” and select “All files access”.
  4. Toggle the switch on and confirm the system warning.
  5. Return to Solid Explorer. Use the navigation pane to open /sdcard. You should now see every folder, including Android/data and Android/obb.

Step‑by‑step example: Using ADB to enable legacy storage for an older backup app

  1. Identify the backup app’s package name. You can find it in Settings > Apps or run adb shell pm list packages | grep backup.
  2. Assume the package is com.backup.old. Execute:
    adb shell appops set com.backup.old LEGACY_STORAGE allow
  3. Open the backup app. It will now be able to read/write the full /sdcard tree.
  4. When you no longer need this broad access, run the deny command to restore scoped storage.
    adb shell appops set com.backup.old LEGACY_STORAGE deny

Troubleshooting common issues

Permission denied when pulling a file via ADB

  • Cause: The target app does not have legacy storage, and the file resides in its private directory.
  • Fix: Use the ADB run-as command if the app is debuggable (rare) or enable legacy storage via appops as shown above.

All‑files access toggle is missing

  • Cause: The app’s manifest does not declare MANAGE_EXTERNAL_STORAGE, or the device is running a custom OEM skin that hides the toggle.
  • Fix: Install a file manager that uses SAF instead, or use the ADB method to force legacy storage.

Files still invisible after granting SAF folder access

  • Cause: The app cached the previous storage view.
  • Fix: Close and reopen the app, or clear its cache (Settings > Apps > App > Storage > Clear cache).

System warns about “All files access may affect privacy”

  • Advice: Only grant this permission to apps you trust. After completing the task, revisit the permission page and toggle it off if you no longer need unrestricted access.

When to keep Scoped Storage

Scoped storage is not a hindrance; it protects you from accidental data exposure. If you primarily use apps that store data in their own private folders (e.g., messaging, note‑taking), you can leave the default model untouched. The extra steps above are only necessary when you need to:

  • Move large collections of files between folders that are not covered by the MediaStore API.
  • Back up app‑specific data that resides under /Android/data or /Android/obb.
  • Use a PC‑based workflow (ADB pull/push) for files that a regular file manager cannot see.

In those cases, the workarounds give you the same freedom you had on older Android versions, without compromising the overall security model.

By understanding how scoped storage works and applying the appropriate technique, you can keep your files organized, back them up reliably, and avoid the “file not found” frustrations that many Android users encounter today.

User Comments (0)

Add Comment
We'll never share your email with anyone else.