summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2014-04-28 17:36:31 -0700
committerJeff Sharkey <jsharkey@android.com>2014-05-14 18:12:24 -0700
commit3a44f3f1b446315ef894e01d2ab9b5388c2bd8c4 (patch)
tree2d640524ab41be6368e3a5e911efc1bc0cd1255a /wifi
parent89b77cded638cab56a002c28da4d09f144f7c6cb (diff)
downloadframeworks_base-3a44f3f1b446315ef894e01d2ab9b5388c2bd8c4.zip
frameworks_base-3a44f3f1b446315ef894e01d2ab9b5388c2bd8c4.tar.gz
frameworks_base-3a44f3f1b446315ef894e01d2ab9b5388c2bd8c4.tar.bz2
Initial support for split APKs, PackageInstaller.
Defines a new PackageInstaller class that will be used for installing and upgrading packages. An application desiring to install an application creates a session, stages one or more package files in that session, and then kicks off the install. Previously, PackageManager would always make its own copy of a package before inspecting it, to ensure the data could be trusted. This new session concept allows the installer to write package data directly to its final resting place on disk, reducing disk I/O and footprint requirements. Writes are directed through an intermediate pipe to ensure we can prevent mutations once an install has been initiated. Also uses fallocate() internally to support optimal ext4 block allocation using extents to reduce fragmentation. Sessions are also the way we support installing multiple "split" APKs in a single atomic operation. For a set of packages to form a valid application, they must have exactly the same package name, version code, and certificates. A session can also be used to add a small handful of splits to an application by inheriting existing packages when not performing a full install. Add PackageParser support for extracting split names and certificates. Bug: 14975160 Change-Id: I23d1bf4fbeb9f99a8c83be0c458900a0f0d1bccc
Diffstat (limited to 'wifi')
0 files changed, 0 insertions, 0 deletions