From dd6861e6ffea7d3237931f01a635491a44995f97 Mon Sep 17 00:00:00 2001 From: Kiyoung Kim Date: Mon, 11 Mar 2019 11:48:14 +0900 Subject: [PATCH] Mark product apks as unbundled Similar to Vendor apks, we need to mark product apks as unbundled if it does not have /product/lib in default search paths. This will enable native loader's logic to add (/system)/product/lib in search path for product apk. Bug: 124705551 Test: m -j & Tested from crosshatch Change-Id: Ib0ac4bbc1c60ca75288cac81f6b93bb8b36521ef --- core/java/android/app/LoadedApk.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java index 3a76de442777..0f1ba390cd7a 100644 --- a/core/java/android/app/LoadedApk.java +++ b/core/java/android/app/LoadedApk.java @@ -760,6 +760,16 @@ public final class LoadedApk { isBundledApp = false; } + // Similar to vendor apks, we should add /product/lib for apks from product partition + // and not having /product/lib in the default search path + final boolean treatProductApkAsUnbundled = !defaultSearchPaths.contains("/product/lib"); + if (mApplicationInfo.getCodePath() != null + && mApplicationInfo.isProduct() && treatProductApkAsUnbundled + // TODO(b/128557860): Change target SDK version when version code R is available. + && getTargetSdkVersion() == Build.VERSION_CODES.CUR_DEVELOPMENT) { + isBundledApp = false; + } + makePaths(mActivityThread, isBundledApp, mApplicationInfo, zipPaths, libPaths); String libraryPermittedPath = mDataDir; -- 2.11.0