Question

I am trying to understand what exactly is going on when you install an application (APK) on an Android device. I guess that files are are extracted from the package and copied somewhere on the device.

  • Are there other steps going on? For example, is the package name of the application written somewhere in the OS like in somekind of registry?
  • Is the application version number written as well somewhere or the OS reads the xml manifest of the application to know its installed version?

This is related to another question where I suspect that some data was not erased correctly during the uninstallation of a debug app and I am trying to find what that might be.

Was it helpful?

Solution

There will be files/dirs created in various locations, not necessary in all possible locations for every app though, it depends on how the app is configured.

This list is not necessarily complete.

Files/dirs:

  • /data/data
  • /data/app
  • /data/app-asec
  • /data/app-lib
  • /data/dalvik-cache
  • /data/local/tmp
  • /mnt/asec
  • /mnt/obb
  • /mnt/sdcard/Android/obb
  • /mnt/sdcard/Android/data

Your app will also get an entry in these files:

  • /data/system/packages.list
  • /data/system/packages.xml
  • /data/system/appops.xml
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top