Preopt: Do not strip non-image boot class path jars.
Test: Pixel 2 XL boots. Bug: 119868597 Change-Id: I7bd3b7655aecf1a8c26dd8d4d18d3eec685ece88
This commit is contained in:
parent
ae1366f60d
commit
e8b00d69c0
|
@ -749,6 +749,14 @@ func (c *config) ModulesLoadedByPrivilegedModules() []string {
|
|||
return c.productVariables.ModulesLoadedByPrivilegedModules
|
||||
}
|
||||
|
||||
func (c *config) BootJars() []string {
|
||||
return c.productVariables.BootJars
|
||||
}
|
||||
|
||||
func (c *config) PreoptBootJars() []string {
|
||||
return c.productVariables.PreoptBootJars
|
||||
}
|
||||
|
||||
func (c *config) DisableDexPreopt(name string) bool {
|
||||
return Bool(c.productVariables.DisableDexPreopt) || InList(name, c.productVariables.DisableDexPreoptModules)
|
||||
}
|
||||
|
|
|
@ -198,6 +198,9 @@ type productVariables struct {
|
|||
UncompressPrivAppDex *bool `json:",omitempty"`
|
||||
ModulesLoadedByPrivilegedModules []string `json:",omitempty"`
|
||||
|
||||
BootJars []string `json:",omitempty"`
|
||||
PreoptBootJars []string `json:",omitempty"`
|
||||
|
||||
DisableDexPreopt *bool `json:",omitempty"`
|
||||
DisableDexPreoptModules []string `json:",omitempty"`
|
||||
DexPreoptProfileDir *string `json:",omitempty"`
|
||||
|
|
|
@ -36,6 +36,7 @@ type GlobalConfig struct {
|
|||
PreoptBootClassPathDexLocations []string // virtual locations of boot class path files
|
||||
|
||||
BootJars []string // modules for jars that form the boot class path
|
||||
PreoptBootJars []string // modules for jars that form the boot image
|
||||
SystemServerJars []string // jars that form the system server
|
||||
SystemServerApps []string // apps that are loaded into system server
|
||||
SpeedApps []string // apps that should be speed optimized
|
||||
|
|
|
@ -1364,6 +1364,12 @@ type Library struct {
|
|||
}
|
||||
|
||||
func (j *Library) shouldUncompressDex(ctx android.ModuleContext) bool {
|
||||
// Store uncompressed (and do not strip) dex files from boot class path jars that are not
|
||||
// part of the boot image.
|
||||
if inList(ctx.ModuleName(), ctx.Config().BootJars()) &&
|
||||
!inList(ctx.ModuleName(), ctx.Config().PreoptBootJars()) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue