learner learner - 20 days ago 8
Android Question

Package Manager in Android

I am trying to understand the Android

PackageManager
(functionality and uses) and the new improvements in Ice Cream Sandwich for
PackageManager
over previous versions.

I have seen the following links and some old threads but still would appreciate if someone can provide me with more references or an explanation as very little is available on the internet.

PackageManager Android docs

Wikipedia - Package Manager

EDIT:



I wanted to broaden my understanding about
PackageManager
in android.


  1. How it works with APK's (Set of checks and steps that it follows for installation, updating and deletion).

  2. Android Play market acts as a repository for data. The interaction of
    PackageManager
    with market for downloading and updating.

  3. Is the installation process for 3rd party apps different to Play market apps, when using
    PackageManager
    ?



There is very little documentation available on android developer site for
PackageManager
and hence your help is really appreciated.

Thanks :)

Answer

This is way to general. Generally, PackageManager provides methods for querying and maniuplating installed packages and related permissions, etc. Some methods are only allowed to the system user. Changes to API in ICS are here.

Those are questions about the actual implementation, and SO may not be the best place for those. In general, you should read the android source to get the full picture. Briefly:

  1. Installed packages info is stored in an XML file: /data/system/packages.xml. PackageManager parses and modifies this when installing or removing packages.
  2. The way the Android Market works is generally undisclosed.
  3. See 2. Android does keep track how a package was installed, so the Market app can tell which apps were installed from the Market and check for updates.