Merge "Pass --preloaded-classes to boot image compilation."

This commit is contained in:
Nicolas Geoffray
2022-03-18 13:41:59 +00:00
committed by Gerrit Code Review
2 changed files with 18 additions and 6 deletions

View File

@@ -284,6 +284,9 @@ type bootImageConfig struct {
// Target-dependent fields.
variants []*bootImageVariant
// Path of the preloaded classes file.
preloadedClassesFile string
}
// Target-dependent description of a boot image.
@@ -686,6 +689,13 @@ func buildBootImageVariant(ctx android.ModuleContext, image *bootImageVariant, p
cmd.FlagWithArg("--base=", ctx.Config().LibartImgDeviceBaseAddress())
}
// We always expect a preloaded classes file to be available. However, if we cannot find it, it's
// OK to not pass the flag to dex2oat.
preloadedClassesPath := android.ExistentPathForSource(ctx, image.preloadedClassesFile)
if preloadedClassesPath.Valid() {
cmd.FlagWithInput("--preloaded-classes=", preloadedClassesPath.Path())
}
cmd.
FlagForEachInput("--dex-file=", image.dexPaths.Paths()).
FlagForEachArg("--dex-location=", image.dexLocations).

View File

@@ -62,6 +62,7 @@ func genBootImageConfigRaw(ctx android.PathContext) map[string]*bootImageConfig
installDirOnDevice: "system/framework",
profileInstallPathInApex: "etc/boot-image.prof",
modules: artModules,
preloadedClassesFile: "art/build/boot/preloaded-classes",
}
// Framework config for the boot image extension.
@@ -74,6 +75,7 @@ func genBootImageConfigRaw(ctx android.PathContext) map[string]*bootImageConfig
installDirOnHost: frameworkSubdir,
installDirOnDevice: frameworkSubdir,
modules: frameworkModules,
preloadedClassesFile: "frameworks/base/config/preloaded-classes",
}
return map[string]*bootImageConfig{