From 06758a7e13d2fe26bc8e2798bba21dd85e4cd2de Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Mon, 8 Apr 2019 17:19:15 +0100 Subject: [PATCH] Use the full dexpreopt boot classpath when preopting with other images. Bug: 119800099 Test: m Change-Id: Ia9b34aa92ebb1b4de96ea0f8f290d798be19b2cf --- java/dexpreopt.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/dexpreopt.go b/java/dexpreopt.go index 6b93c10e3..9141f9ef9 100644 --- a/java/dexpreopt.go +++ b/java/dexpreopt.go @@ -98,6 +98,7 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Mo global := dexpreoptGlobalConfig(ctx) bootImage := defaultBootImageConfig(ctx) + defaultBootImage := bootImage if global.UseApexImage { bootImage = apexBootImageConfig(ctx) } @@ -165,8 +166,11 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Mo Archs: archs, DexPreoptImages: images, - PreoptBootClassPathDexFiles: bootImage.dexPaths.Paths(), - PreoptBootClassPathDexLocations: bootImage.dexLocations, + // We use the dex paths and dex locations of the default boot image, as it + // contains the full dexpreopt boot classpath. Other images may just contain a subset of + // the dexpreopt boot classpath. + PreoptBootClassPathDexFiles: defaultBootImage.dexPaths.Paths(), + PreoptBootClassPathDexLocations: defaultBootImage.dexLocations, PreoptExtractedApk: false,