Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit da96e137 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Parse more split APK manifest details.

Allow split APKs to define activities, services, receivers,
providers, and metadata.  However, support for many manifest items
are explicitly omitted.

Only dexopt split APKs that include code.

Bug: 14975160
Change-Id: I2fbf99e2a62328aa2185e5924755af33060282fc
parent ce50e7af
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -8911,7 +8911,7 @@ package android.content.res {
    ctor public AssetFileDescriptor.AutoCloseOutputStream(android.content.res.AssetFileDescriptor) throws java.io.IOException;
  }
  public final class AssetManager {
  public final class AssetManager implements java.lang.AutoCloseable {
    method public void close();
    method public final java.lang.String[] getLocales();
    method public final java.lang.String[] list(java.lang.String) throws java.io.IOException;
+3 −1
Original line number Diff line number Diff line
@@ -185,7 +185,9 @@ public class PackageInfo implements Parcelable {
    public ConfigurationInfo[] configPreferences;

    /**
     * The features that this application has said it requires.
     * Features that this application has requested.
     *
     * @see FeatureInfo#FLAG_REQUIRED
     */
    public FeatureInfo[] reqFeatures;

+3 −3
Original line number Diff line number Diff line
@@ -42,17 +42,17 @@ import java.util.List;
 * intervention to complete the installation.
 * <p>
 * Sessions can install brand new apps, upgrade existing apps, or add new splits
 * onto an existing app.
 * into an existing app.
 * <p>
 * Apps packaged into multiple split APKs always consist of a single "base" APK
 * Apps packaged as multiple split APKs always consist of a single "base" APK
 * (with a {@code null} split name) and zero or more "split" APKs (with unique
 * split names). Any subset of these APKs can be installed together, as long as
 * the following constraints are met:
 * <ul>
 * <li>All APKs must have the exact same package name, version code, and signing
 * certificates.
 * <li>All installations must contain a single base APK.
 * <li>All APKs must have unique split names.
 * <li>All installations must contain a single base APK.
 * </ul>
 */
public class PackageInstaller {
+427 −140

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ import java.util.HashMap;
 * files that have been bundled with the application as a simple stream of
 * bytes.
 */
public final class AssetManager {
public final class AssetManager implements AutoCloseable {
    /* modes used when opening an asset */

    /**
Loading