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,