From 1913e674e339d374b33b628ee20a83b5dfefb2c6 Mon Sep 17 00:00:00 2001 From: Jeongsik Mun Date: Mon, 22 Nov 2021 11:43:23 +0900 Subject: [PATCH] Link 32bit native libraries only if libs exist There could be an app whose abi is 32bit, but which doesn't have 32bit native libs because it just belongs to the SharedUserId whose abi is 32bit. Link it only if libs exist to reduce unnecessary calls. Bug: 204097684 Test: compile & verify basic functions working Change-Id: I24c374c92600ff50f4cf4e88e0b4106d480562d8 --- services/core/java/com/android/server/pm/AppDataHelper.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/core/java/com/android/server/pm/AppDataHelper.java b/services/core/java/com/android/server/pm/AppDataHelper.java index 1e2eb5dea263d..e99512d3b9fae 100644 --- a/services/core/java/com/android/server/pm/AppDataHelper.java +++ b/services/core/java/com/android/server/pm/AppDataHelper.java @@ -293,6 +293,9 @@ final class AppDataHelper { String primaryCpuAbi = AndroidPackageUtils.getPrimaryCpuAbi(pkg, pkgSetting); if (primaryCpuAbi != null && !VMRuntime.is64BitAbi(primaryCpuAbi)) { final String nativeLibPath = pkg.getNativeLibraryDir(); + if (!(new File(nativeLibPath).exists())) { + return; + } try { mInstaller.linkNativeLibraryDirectory(volumeUuid, packageName, nativeLibPath, userId);