Where does Android store apps on my device?
Android typically stores installed apps (.APK files) in the following directory:
/data/app/
Apps in these directories use a naming convention according to the unique package name, which is specified by the app developer. For example, if an app's package name is com.example.MyApp, then the app is stored in the following directory:
/data/app/com.example.MyApp/
Unless you have a rooted (or "jailbroken") device, you cannot see the contents of this directory and it will appear to be empty. This is because Android does not allow access to this location within the file system. Android uses the /data/app/ directory for managing app data, and any tampering with files in this location could cause problems. Below is a sample screenshot of the /data/app/ directory on a device with root access:
If you're wondering what the ".odex" files are, they are files that Android creates to optimize the boot loading process for your apps. You can read more about this file type on the .ODEX file extension page.
While /data/app/ is the most common location for installed apps, there also other directories that are used for storing apps. Different apps may by installed in different locations. Here are some other possible directories for installed apps:
- /system/app/ - Contains pre-installed system apps
- /data/asec/ - Stores secure apps generated from external memory storage
- /data/app-private - Contains third party protected apps
Apps may also generate data for use during runtime. For example, an app may create a database file that stores favorites or recently viewed items. The data for these apps can be stored in the following directories:
- /data/data/
- /mnt/sdcard/Android/data/
These directories also use the Android package naming convention. For example, /data/data/com.example.MyApp is the location for the data stored by MyApp.