The process of installing an application on a mobile device with the Android operating system is often perceived by users as a “black box”: you download the file, click the “Install” button, and the icon appears on the desktop. However, this simple action hides the complex structure of the file system, where each application component occupies its strictly defined place. Understanding where exactly data is being written is critical to freeing up memory, diagnosing crashes, or transferring games to a memory card.

When you run the installer PackageInstaller, the system doesn't just copy the files to one folder. The installation package, executable code, user data and temporary cache are divided into different memory sections. This is done for security purposes and to optimize performance. In this article, we will take a detailed look at the physical paths to these files and explain why you cannot find the installed application in a regular file manager.

Gaining full access to these directories often requires superuser rights (root) or the use of debugging ADB. Standard file managers hide system partitions by default to prevent accidental deletion of critical OS components. However, knowing the structure will help you manage your smartphone’s storage wisely.

Separation of the installation and data storage process

The first thing you need to understand: the installation file itself APK and the files of the running application are different entities. After successful installation, the original APK file often remains in the downloads folder as garbage while the system extracts code and resources from it, placing them in protected system directories. User data, such as game saves, logins and settings, is written to a completely different area.

The Android architecture isolates each application in its own sandbox. This means that the app does not have the right to read files of a neighboring application without special permission. Such isolation is implemented by assigning a unique UID (User ID) to each process. Physically, this is expressed in the creation of separate folders with access rights that only the application itself and the system administrator can see.

If you try to find the installed game in the folder Download, you will be mistaken. Only the downloaded installer can be there. Working files are located deeper. For example, the image cache and temporary data often grow to gigabytes, occupying main memory, while the installation file itself weighs only a couple of hundred megabytes. Understanding this difference allows you to effectively clean your device.

📊 Where do you usually look for application files?
In the Download folder
In the root of the internal memory
Through the storage settings
I don’t search, I delete the entire application

System directories for executable files

The main body of the application, containing the executable code .dex and resources, is placed in a protected section of the system. In the classic Android structure, without root access, access to these paths is denied. The main directory here is /data/app. This is where the optimized application package is copied after installation is complete.

Inside this folder, a subdirectory with the package name is created for each application, for example, com.example.game-1. The number at the end of the name may change when the application is updated, indicating the installation version. Inside this directory there is a file base.apk, which is the current version of the app used by the system to run.

In addition, compiled native code for specific processors (ARM, x86) can be placed in separate libraries. Modern versions of Android, starting from 6.0 and higher, use a AOT (Ahead-Of-Time) compilation mechanism that converts bytecode into machine code immediately upon installation. These files also take up space in the system partition and are not visible to the user without special tools.

Why can’t you just copy the APK from the system folder?

Directly copying the base.apk file from /data/app to another phone may not work if the target device has a different Android version, processor architecture, or lacks the necessary system libraries, which are pulled up separately when installed through the manager packages.

Storing user data and cache

Unlike executable files, data generated during use is stored in other directories, access to which is partially open. The main storage of private data is located along /data/data (or /data/user/0 on multi-user devices). Here, each folder corresponds to an application package and contains databases SQLite, settings files SharedPreferences and private files.

For temporary files that can be safely deleted without losing progress (for example, downloaded pictures from a social network feed), the cache folder is intended. It is usually located at /data/data/package_name/cache. Clearing this directory through your phone's settings frees up space, but does not delete your accounts or saves.

Starting with Android 11, access to the folder Android/data on the internal drive has been significantly limited to third-party file managers for privacy purposes. However, this is where many modern games and heavy applications store additional resources (map cache, textures, music) that are not included in the main APK.

  • 📂 /data/data —private application data (access only with root).
  • 🗑️ /data/data/.../cache — temporary cache, safe to delete.
  • 🎮 /Android/data — additional game files and media content.
  • ⚙️ /data/app — installation packages and executable code.
💡

Use the built-in “Storage” menu in Android settings to view the size of the Data and Cache folders of a specific application, not resorting to file managers with root access.

Features of working with a memory card (SD card)

The issue of transferring applications to an external drive remains one of the most painful for owners of devices with a small amount of built-in memory. Android allows you to move some app data to an SD card, but this doesn't work for all apps. The developer must explicitly enable this function in the application manifest by specifying the attribute android:installLocation.

When transferred to a memory card, the executable code still remains in the internal memory (/data/app), since the system must guarantee fast startup and security. Only resources and part of the data are uploaded to external media. The path to these files usually looks like /storage/sdcard1/Android/data/package_name or through symbolic links in /mnt.

There is an important caveat: if you remove the memory card or format it, the application will stop launching or lose some data. The Android system encrypts the data on the SD card, tying it to a specific device. As a rule, moving the card to another phone and continuing to work with the transferred applications will not work without re-authorization and configuration.

⚠️ Attention: Formatting the SD card as “internal memory” (Adoptable Storage) makes it unreadable for other devices. The data is encrypted with the key of that particular smartphone. Losing a phone means losing access to files on such a card.

Table of file locations depending on the type of data

For clarity, we systematize information about paths depending on the type of information stored. This table will help you figure out which partition takes up space on your device and what access rights are needed to work with it.

Data type Path in the file system Access without Root Can be deleted
Installation package (APK) /data/app/... No No (will delete application)
Private data (logins, saves) /data/data/... No No (will reset the application)
Temporary cache /data/data/.../cache No (via Settings) Yes (safe)
Add. game resources (OBB) /Android/obb/... Yes (partially) Yes (the game will download again)
Uploaded user files /storage/emulated/0/Download Yes Yes
💡

System application files (/data/app and /data/data) are physically located in a protected partition, inaccessible for direct copying by conventional means, which ensures system integrity.

Search and manage files through ADB and file managers

If you need to examine the contents of system folders without obtaining superuser rights, the best tool is USB debugging (ADB). By connecting your smartphone to your computer, you can use navigation commands. For example, the command adb shell pm path com.package.name will show the exact path to the APK file of a specific application.

You can use the command adb shell ls -l /data/appto view the content, but access to reading the files inside may be limited. More advanced users use file managers with root support, such as Root Explorer or Solid Explorer (with root plugin). They allow you to mount the system partition in write mode and edit configuration files.

When working with files via ADB be extremely careful. Deleting a file base.apk from a folder /data/app manually will not remove the application from the list of installed ones in the settings, but will make it inoperable, since the system will not be able to find the executable code. This may lead to verification errors on the next reboot.

adb shell pm list packages | grep "telegram"

adb shell pm path org.telegram.messenger

Running such commands allows you to obtain technical information about the location of packages. This is especially useful when searching for duplicate applications or residual files after incorrect removal of apps.

☑️ Check before deleting system files

Done: 0 / 4

Memory problems and residual files

A frequent problem is when an application is deleted through the standard interface, but its folders remain on the disk. This often happens with directories in /Android/data or /Android/obb. Deleting an icon does not always guarantee a complete cleanup of external storage, especially if the application crashed before deletion.

So-called “junk” files can accumulate for months. This includes error logs, temporary downloads of updates that were not removed after installation, and thumbnail images. Regular revision of the folder /data/local/tmp (root required) can also free up space, since some scripts and tweakers dump temporary data there.

If you are faced with a lack of space and deleting applications does not help, the problem may be in the partition Dalvik Cache. This is a cache of optimized application files. It takes up a significant amount of space, but it regenerates (recovers) automatically after a reboot, it’s just that the first time the phone will turn on longer than usual.

⚠️ Attention: Clearing Dalvik Cache requires rebooting the device in Recovery mode. Do not interrupt this process, otherwise the system may not boot. This procedure is relevant for older versions of Android; in new versions (ART), the operating mechanism has changed.
Is it possible to move the APK file itself to a flash drive manually?

No, simply moving the file .apk to a memory card will not make the application work from there. The Android system requires the executable code to reside in an internal secure partition for speed and security. Moving is possible only by standard means through the app settings, if the developer has allowed it.

Where is WhatsApp and Telegram data stored?

Media files (photos, videos) of messengers are usually located in a public part of the memory: /Android/media or in the root folders WhatsApp/Media. However, the correspondence databases are stored in a protected directory /data/data/com.whatsapp/databases, which can only be accessed with root access.

Why did the folder remain after deleting the game?

Developers often place caches (maps, textures) in the folder /Android/obb. The standard procedure for uninstalling an application does not always touch this directory, considering that the user may want to save the data for re-installation. These files must be deleted manually through the file manager.

Is it safe to delete files from the /data/tombstones folder?

Yes, the folder tombstones contains reports about application accidents (crashes). These are technical logs for developers. If you do not have the task of debugging a specific failure, these files can be safely deleted; they take up space and are not needed for the system to function.

How to find the exact size of the Data folder for an application?

Go to Settings → Applications → [Select an application] → Storage. It will separately indicate the size of the application itself, the amount of user data and the cache size. This is the most accurate way to evaluate without using third-party software.