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:
committed by
Nicolas Geoffray
parent
ae1366f60d
commit
e8b00d69c0
@@ -749,6 +749,14 @@ func (c *config) ModulesLoadedByPrivilegedModules() []string {
|
|||||||
return c.productVariables.ModulesLoadedByPrivilegedModules
|
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 {
|
func (c *config) DisableDexPreopt(name string) bool {
|
||||||
return Bool(c.productVariables.DisableDexPreopt) || InList(name, c.productVariables.DisableDexPreoptModules)
|
return Bool(c.productVariables.DisableDexPreopt) || InList(name, c.productVariables.DisableDexPreoptModules)
|
||||||
}
|
}
|
||||||
|
@@ -198,6 +198,9 @@ type productVariables struct {
|
|||||||
UncompressPrivAppDex *bool `json:",omitempty"`
|
UncompressPrivAppDex *bool `json:",omitempty"`
|
||||||
ModulesLoadedByPrivilegedModules []string `json:",omitempty"`
|
ModulesLoadedByPrivilegedModules []string `json:",omitempty"`
|
||||||
|
|
||||||
|
BootJars []string `json:",omitempty"`
|
||||||
|
PreoptBootJars []string `json:",omitempty"`
|
||||||
|
|
||||||
DisableDexPreopt *bool `json:",omitempty"`
|
DisableDexPreopt *bool `json:",omitempty"`
|
||||||
DisableDexPreoptModules []string `json:",omitempty"`
|
DisableDexPreoptModules []string `json:",omitempty"`
|
||||||
DexPreoptProfileDir *string `json:",omitempty"`
|
DexPreoptProfileDir *string `json:",omitempty"`
|
||||||
|
@@ -36,6 +36,7 @@ type GlobalConfig struct {
|
|||||||
PreoptBootClassPathDexLocations []string // virtual locations of boot class path files
|
PreoptBootClassPathDexLocations []string // virtual locations of boot class path files
|
||||||
|
|
||||||
BootJars []string // modules for jars that form the boot class path
|
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
|
SystemServerJars []string // jars that form the system server
|
||||||
SystemServerApps []string // apps that are loaded into system server
|
SystemServerApps []string // apps that are loaded into system server
|
||||||
SpeedApps []string // apps that should be speed optimized
|
SpeedApps []string // apps that should be speed optimized
|
||||||
|
@@ -1364,6 +1364,12 @@ type Library struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (j *Library) shouldUncompressDex(ctx android.ModuleContext) bool {
|
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
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user