Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 :)

like image 301
learner Avatar asked Dec 01 '11 13:12

learner


People also ask

What is Android package manager?

Package Manager is a highly powerful application to manage apps, both system and user, installed on an android device.

What is the use of package in Android?

A package is basically the directory (folder) in which the source code resides. Normally, this is a directory structure that uniquely distinguishes the android application; such as com. example. app.

What is package for Android app?

The package name of an Android app uniquely identifies your app on the device, in Google Play Store, and in supported third-party Android stores.

Where are packages located in Android?

For normal apps, there are stored in internal memory in /data/app. Some of the encrypted apps, the files are stored in /data/app-private. For apps stored in the external memory, files are stored in /mnt/sdcard/Android/data.


1 Answers

This is way to general. Generally, PackageManager provides methods for querying and manipulating 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 Stack Overflow 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.
like image 102
Nikolay Elenkov Avatar answered Nov 03 '22 11:11

Nikolay Elenkov