am 375d5b90: Merge "Support cluster-style installs for bundled apps." into lmp-dev
* commit '375d5b90cf59ae201d5aeddca7fe06761f67e642':
Support cluster-style installs for bundled apps.
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 727cff0..a70dd1b 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -6231,31 +6231,26 @@
info.nativeLibraryDir = null;
info.secondaryNativeLibraryDir = null;
- if (bundledApp) {
- // Monolithic bundled install
- // TODO: support cluster bundled installs?
-
- final boolean is64Bit = (info.primaryCpuAbi != null)
- && VMRuntime.is64BitAbi(info.primaryCpuAbi);
-
- // This is a bundled system app so choose the path based on the ABI.
- // if it's a 64 bit abi, use lib64 otherwise use lib32. Note that this
- // is just the default path.
- final String apkName = deriveCodePathName(codePath);
- final String libDir = is64Bit ? LIB64_DIR_NAME : LIB_DIR_NAME;
- info.nativeLibraryRootDir = Environment.buildPath(new File(apkRoot), libDir,
- apkName).getAbsolutePath();
- info.nativeLibraryRootRequiresIsa = false;
-
- info.nativeLibraryDir = info.nativeLibraryRootDir;
- if (info.secondaryCpuAbi != null) {
- final String secondaryLibDir = is64Bit ? LIB_DIR_NAME : LIB64_DIR_NAME;
- info.secondaryNativeLibraryDir = Environment.buildPath(new File(apkRoot),
- secondaryLibDir, apkName).getAbsolutePath();
- }
- } else if (isApkFile(codeFile)) {
+ if (isApkFile(codeFile)) {
// Monolithic install
- if (asecApp) {
+ if (bundledApp) {
+ final boolean is64Bit = VMRuntime.is64BitInstructionSet(
+ getPrimaryInstructionSet(info));
+
+ // This is a bundled system app so choose the path based on the ABI.
+ // if it's a 64 bit abi, use lib64 otherwise use lib32. Note that this
+ // is just the default path.
+ final String apkName = deriveCodePathName(codePath);
+ final String libDir = is64Bit ? LIB64_DIR_NAME : LIB_DIR_NAME;
+ info.nativeLibraryRootDir = Environment.buildPath(new File(apkRoot), libDir,
+ apkName).getAbsolutePath();
+
+ if (info.secondaryCpuAbi != null) {
+ final String secondaryLibDir = is64Bit ? LIB_DIR_NAME : LIB64_DIR_NAME;
+ info.secondaryNativeLibraryDir = Environment.buildPath(new File(apkRoot),
+ secondaryLibDir, apkName).getAbsolutePath();
+ }
+ } else if (asecApp) {
info.nativeLibraryRootDir = new File(codeFile.getParentFile(), LIB_DIR_NAME)
.getAbsolutePath();
} else {
@@ -6271,10 +6266,8 @@
info.nativeLibraryRootDir = new File(codeFile, LIB_DIR_NAME).getAbsolutePath();
info.nativeLibraryRootRequiresIsa = true;
- if (info.primaryCpuAbi != null) {
- info.nativeLibraryDir = new File(info.nativeLibraryRootDir,
- VMRuntime.getInstructionSet(info.primaryCpuAbi)).getAbsolutePath();
- }
+ info.nativeLibraryDir = new File(info.nativeLibraryRootDir,
+ getPrimaryInstructionSet(info)).getAbsolutePath();
if (info.secondaryCpuAbi != null) {
info.secondaryNativeLibraryDir = new File(info.nativeLibraryRootDir,