System/root/shell need to explicitly ask for static libs to get them

Test: manual - settings no longer shows static shared libs
      all shared lib CTS tests pass

bug:36632271

Change-Id: If3363059b5f5300e309b61899af8c2559af317fe
This commit is contained in:
Svet Ganov
2017-05-11 14:36:50 -07:00
parent 54a3ce2d0e
commit 9e77977ffa
2 changed files with 34 additions and 18 deletions

View File

@@ -157,6 +157,7 @@ public abstract class PackageManager {
MATCH_DISABLED_COMPONENTS,
MATCH_DISABLED_UNTIL_USED_COMPONENTS,
MATCH_INSTANT,
MATCH_STATIC_SHARED_LIBRARIES,
GET_DISABLED_UNTIL_USED_COMPONENTS,
GET_UNINSTALLED_PACKAGES,
})
@@ -177,6 +178,7 @@ public abstract class PackageManager {
MATCH_SYSTEM_ONLY,
MATCH_UNINSTALLED_PACKAGES,
MATCH_INSTANT,
MATCH_STATIC_SHARED_LIBRARIES,
GET_DISABLED_COMPONENTS,
GET_DISABLED_UNTIL_USED_COMPONENTS,
GET_UNINSTALLED_PACKAGES,
@@ -474,6 +476,16 @@ public abstract class PackageManager {
*/
public static final int MATCH_EXPLICITLY_VISIBLE_ONLY = 0x02000000;
/**
* Internal {@link PackageInfo} flag: include static shared libraries.
* Apps that depend on static shared libs can always access the version
* of the lib they depend on. System/shell/root can access all shared
* libs regardless of dependency but need to explicitly ask for them
* via this flag.
* @hide
*/
public static final int MATCH_STATIC_SHARED_LIBRARIES = 0x04000000;
/**
* Internal flag used to indicate that a system component has done their
* homework and verified that they correctly handle packages and components