All smartphone users sooner or later think about how exactly their device manages the installed software. When you click the "Install" button on Google Play or launch an APK file from the file manager, the system goes through a complex sequence of data copying and unpacking operations. Understanding where applications are installed on Androidis necessary not only for inquisitive enthusiasts, but also for those who are trying to free up space in internal memory or diagnose app errors.
By default, the operating system architecture separates executable files, user data and cache. This is done for security and stability reasons. If all the files were in one pile, deleting an application could accidentally affect important system settings or personal photos. Therefore, the developers Android implemented a strict hierarchy of directories, access to which is regulated by the rights of the superuser (root).
In this article we will analyze the file structure in detail, explain the difference between the system partition and the user storage, and also show how to manually find the installed package. You will learn why some apps cannot be moved to a memory card and where exactly the heavy game cache files that take up gigabytes of space are hidden.
Basic structure of the Android file system
The file system of Linux-based mobile devices has a tree structure, where each directory performs a strictly defined function. For the average user, the visible part of the iceberg is the internal storage, which often appears as a memory card or USB drive when connected to a PC. However, real system processes occur in hidden sections, access to which is limited without obtaining root access.
The root directory is indicated by the symbol /. It is from this that all the main directory branches depart. The most important folder for our question is /data. It stores all user information, settings and, most importantly, installed third-party applications. Section /system, on the contrary, contains pre-installed software and libraries necessary to run the phone itself. Changing files in this partition may cause the device to stop booting.
It is worth noting that modern versions Android use a file system ext4 or f2fsthat support journaling and encryption. This means that even if you connect your phone to your computer in file transfer mode (MTP), you will not see the system folders directly. The MTP protocol specifically hides the directory structure, showing only media files and documents accessible to the user.
⚠️ Attention: Directly editing files in system partitions (/system, /vendor) without deep knowledge can lead to “bricking” the device. Perform any manipulations with access rights only at your own peril and risk.
Path to user applications: /data/app folder
When you install a app from a store or a third-party source, its main package (APK) is copied to the directory /data/app. This is the main repository for all software that is not part of the firmware. Inside this folder, the system creates subdirectories with names containing the name of the application package, for example com.whatsapp-1 or com.google.android.youtube-2. The numbers at the end indicate the installation version or signature code.
Inside such a subdirectory there is usually a file base.apk, which is the installation package. If the application uses App Bundles, you may see additional files, such as split_config.arm64_v8a.apk or split_config.ru.apk, responsible for the processor architecture and localization, respectively. The system assembles these parts into a single whole only at the time of startup or update.
Access to this directory is possible only through file managers with support for root access, such as Root Explorer or Solid Explorer, or through the console ADB (Android Debug Bridge). Without superuser rights, you will only be able to see shortcuts on your desktop, but not the actual files that make them up. This is a fundamental security principle Androidthat protects applications from malware interference.
Why are the folder names so strange?
The directory names in /data/app are randomly generated by the system every time you install them. This is done to prevent name conflicts and complicate the work of viruses that try to find a specific application using a static path.
System applications and the /system partition
Factory apps such as "Phone", "Contacts", "Settings" and services Google Playare stored in a protected partition /system. The specific path to them most often looks like /system/app or /system/priv-app. The difference between these two directories is critical to understanding privileges.
Applications hosted in /system/priv-apphave enhanced access rights to the system. They can manage calls, access contacts, change network settings and perform other critical functions. Ordinary user apps, even if they are copied there manually, will not receive these rights without a corresponding entry in the system configuration files. An attempt to delete important files from /system/priv-app is almost guaranteed to result in a cyclic reboot of the phone (bootloop).
In modern versions Android (starting from version 10) the structure has become even more complex due to the introduction of Project Treble. System applications can be located in the /product, /odm or /vendorsection. This allows manufacturers to update part of the system independently of the Android kernel. For the user, this means that the search for system software may require checking several directories, and not just the classic one. System applications in the /system/priv-app folder have the highest priority and access rights. Removing them without replacing them with analogues can disrupt the operation of the basic functions of the phone. /system.
System applications in the /system/priv-app folder have the highest priority and access rights. Removing them without replacing them with analogues may disrupt the operation of basic phone functions.
Where the data and application cache are stored
The executable file itself (APK) takes up relatively little space. The bulk of memory is often consumed by user data and cache. This information is stored in strictly isolated folders at /data/data (in older versions) or /data/user/0 (in new versions with support for multiple profiles). Inside you will find directories with package names identical to those in /data/app.
Inside the specific application folder resides several important subdirectories. The folder cache contains temporary files that can be safely deleted to free up space, although the application may recreate them the next time you launch it. The directory files stores permanent data created by the app, and databases contains local databases (for example, the history of correspondence in messengers or saves in games).
It is also worth mentioning public storage. Many applications, especially media players, browsers and instant messengers, duplicate some of the data into internal memory accessible to the user. The path to them usually looks like /sdcard/Android/data or simply /sdcard/Application Name. Downloaded pictures, offline maps and cache of streaming services are stored here. Cleaning this folder through the file manager is safe, but will lead to the loss of downloaded content.
- 📂 /data/data —private storage of settings and databases (Root required).
- 🗑️ /data/data/.../cache —temporary files that can be cleaned.
- 📸 /sdcard/Android/data — public cache and downloaded media files.
- ⚙️ /data/user/0 —the current path for user profiles in new Androids.
Moving applications to a memory card (SD card)
Many users want to know if they can move applications to a memory card to free up space. In modern versions Android this function is limited to the developers of the applications themselves. If there is no “Move to SD card” button in the app settings, it means that the developer has prohibited this in the application manifest (attribute android:installLocation).
However, there is an “Adaptive Memory” mode (Adoptable Storage). When activated, the memory card is formatted as an extension of the internal memory. In this case, the system encrypts the card and begins installing applications directly on it, using paths like /mnt/expand/UUID. This allows you to bypass limitations, but has disadvantages: the card works slower than the internal flash memory, and when it is removed, all applications installed there will stop working.
For advanced users, there is a method for creating symbolic links through a computer with root access. The essence of the method is to physically transfer the folder with data to the card, and leave a “shortcut” in its place in the internal memory. This requires the use of the command line. data-i="105">and knowledge of the exact paths. An error in one letter of the path can lead to loss of application data. ADB and knowledge of the exact paths. A mistake in one letter of the path can result in loss of application data.
adb shellsu
mv /data/data/com.example.app /sdcard/app_data_backup
ln -s /sdcard/app_data_backup /data/data/com.example.app
⚠️ Attention: When using a memory card in the “Adaptive Memory” mode, all data on it is encrypted with the key of a specific phone, you will not be able to read this card on another device or computer without full formatting.
Analysis. occupied space and searching for large files
To understand which application takes up the most space, you don’t have to go into the system folders. There is a built-in analyzer in your phone settings. Go to Settings → Applications or Settings → Memory. There you will see a list of apps sorted by size. By clicking on a specific application, you will see a breakdown: the size of the application itself, the data size and the cache size.
For a deeper analysis, you can use utilities like DiskUsage or Files by Google. They visualize the file system as a block map, where the size of the square is proportional to the file size. This allows you to instantly find forgotten folders with the Telegram cache or the remains of deleted games, which can occupy gigabytes in the directory /sdcard/Android/obb.
Particular attention should be paid to the folder obb. It stores additional files for heavy games (textures, sounds, levels). It often happens that the application itself weighs 100 MB, and its data occupies 2 GB. Deleting the folder with the package name from obb occupy 2 GB. Removing the folder with the package name from /sdcard/Android/obb will cause the game to stop launching and require you to download the content again.
| Data type | Location | Can it be deleted? | Requires Root |
|---|---|---|---|
| APK file | /data/app | No (the application will be deleted) | Yes |
| Application cache | /data/data/.../cache | Yes (safe) | Yes |
| Public cache | /sdcard/Android/data | Yes (you will lose downloads) | No |
| Game files (OBB) | /sdcard/Android/obb | No (the game will not will start) | No |
If an application takes up an abnormally large amount of space in the “Data” section, try clearing its cache through the settings before deleting it. Often this frees up to 50% of the volume without losing progress.
Frequently asked questions about installation paths
Why don’t I see the Android/data folder on my computer?
Starting with Android 11, Google has restricted access to this folder via MTP when connected to a PC. This is done to protect personal data. To gain access, you need to use the file manager inside the phone itself or provide special permission through the developer settings.
Can WhatsApp be moved to a memory card?
Officially, the application itself cannot be moved, since WhatsApp does not support installation on an external drive. However, you can transfer media files (photos, videos) and the chat database to the settings of the messenger itself, specifying the memory card as the storage location.
Where are APK files stored after installation?
The original APK file that you downloaded usually remains in the folder Download. The installed copy is stored in /data/app. If you want to save the installer, it is better to use special utilities to extract APK from already installed apps.
What happens if you delete a folder from /data/data?
Deleting a folder from /data/data equivalent to completely resetting the application to factory settings. You will lose all logins, passwords, game saves and settings if they have not been synchronized with the cloud. The application itself will not be deleted, but will require re-configuration.
☑️ Check before clearing memory
In conclusion, understanding the file structure Android gives you complete control over the device. Knowing that applications live in /data/app, and their “soul” (data) is in /data/data, you can competently manage free space and avoid mistakes when cleaning the system. Remember that data security is always a priority over the desire to delete an extra megabyte from the system partition.