summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2019-02-12 05:57:56 -0800
committer android-build-merger <android-build-merger@google.com> 2019-02-12 05:57:56 -0800
commit85a962e5f488485dc630b361f5fc84a8db1dc2d5 (patch)
tree8732082e81a991615eb01bc8475fce4e6ff6dd2e
parent82ddfc299e52d613bfc99f044625c92f3d7c71da (diff)
parent96602ece0161081cd591de5c0be00cfbebfaa831 (diff)
Merge "Clear BOOTCLASSPATH for APP AOT compilation."
am: 96602ece01 Change-Id: I4dfd48704a338117507c2b433ee62e2f240e0104
-rw-r--r--cmds/installd/dexopt.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/cmds/installd/dexopt.cpp b/cmds/installd/dexopt.cpp
index a6399510b6..852aa799fb 100644
--- a/cmds/installd/dexopt.cpp
+++ b/cmds/installd/dexopt.cpp
@@ -1958,6 +1958,11 @@ int dexopt(const char* dex_path, uid_t uid, const char* pkgname, const char* ins
/* child -- drop privileges before continuing */
drop_capabilities(uid);
+ // Clear BOOTCLASSPATH.
+ // Let dex2oat use the BCP from boot image, excluding updatable BCP
+ // modules for AOT to avoid app recompilation after their upgrades.
+ unsetenv("BOOTCLASSPATH");
+
SetDex2OatScheduling(boot_complete);
if (flock(out_oat_fd.get(), LOCK_EX | LOCK_NB) != 0) {
PLOG(ERROR) << "flock(" << out_oat_path << ") failed";