Loading dexpreopt/config.go +1 −2 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ type GlobalConfig struct { SystemServerCompilerFilter string // default compiler filter to pass to dex2oat for system server jars GenerateDMFiles bool // generate Dex Metadata files NeverAllowStripping bool // whether stripping should not be done - used as build time check to make sure dex files are always available NoDebugInfo bool // don't generate debug info by default AlwaysSystemServerDebugInfo bool // always generate mini debug info for system server modules (overrides NoDebugInfo=true) Loading dexpreopt/dexpreopt.go +3 −10 Original line number Diff line number Diff line Loading @@ -68,9 +68,6 @@ func GenerateStripRule(global GlobalConfig, module ModuleConfig) (rule *android. strip := shouldStripDex(module, global) if strip { if global.NeverAllowStripping { panic(fmt.Errorf("Stripping requested on %q, though the product does not allow it", module.DexLocation)) } // Only strips if the dex files are not already uncompressed rule.Command(). Textf(`if (zipinfo %s '*.dex' 2>/dev/null | grep -v ' stor ' >/dev/null) ; then`, module.StripInputPath). Loading Loading @@ -502,7 +499,7 @@ func shouldGenerateDM(module ModuleConfig, global GlobalConfig) bool { contains(module.PreoptFlags, "--compiler-filter=verify") } func OdexOnSystemOtherByName(name string, dexLocation string, global GlobalConfig) bool { func odexOnSystemOther(module ModuleConfig, global GlobalConfig) bool { if !global.HasSystemOther { return false } Loading @@ -511,12 +508,12 @@ func OdexOnSystemOtherByName(name string, dexLocation string, global GlobalConfi return false } if contains(global.SpeedApps, name) || contains(global.SystemServerApps, name) { if contains(global.SpeedApps, module.Name) || contains(global.SystemServerApps, module.Name) { return false } for _, f := range global.PatternsOnSystemOther { if makefileMatch(filepath.Join(SystemPartition, f), dexLocation) { if makefileMatch(filepath.Join(SystemPartition, f), module.DexLocation) { return true } } Loading @@ -524,10 +521,6 @@ func OdexOnSystemOtherByName(name string, dexLocation string, global GlobalConfi return false } func odexOnSystemOther(module ModuleConfig, global GlobalConfig) bool { return OdexOnSystemOtherByName(module.Name, module.DexLocation, global) } func pathForLibrary(module ModuleConfig, lib string) string { path := module.LibraryPaths[lib] if path == "" { Loading dexpreopt/dexpreopt_test.go +0 −18 Original line number Diff line number Diff line Loading @@ -36,7 +36,6 @@ var testGlobalConfig = GlobalConfig{ DefaultCompilerFilter: "", SystemServerCompilerFilter: "", GenerateDMFiles: false, NeverAllowStripping: false, NoDebugInfo: false, AlwaysSystemServerDebugInfo: false, NeverSystemServerDebugInfo: false, Loading Loading @@ -111,23 +110,6 @@ func TestDexPreopt(t *testing.T) { } } func TestDexPreoptStrip(t *testing.T) { // Test that we panic if we strip in a configuration where stripping is not allowed. global, module := testGlobalConfig, testModuleConfig global.NeverAllowStripping = true module.NoStripping = false module.Name = "test" module.DexLocation = "/system/app/test/test.apk" module.BuildPath = "out/test/test.apk" module.Archs = []string{"arm"} _, err := GenerateStripRule(global, module) if err == nil { t.Errorf("Expected an error when calling GenerateStripRule on a stripped module") } } func TestDexPreoptSystemOther(t *testing.T) { global, module := testGlobalConfig, testModuleConfig Loading java/app.go +3 −14 Original line number Diff line number Diff line Loading @@ -162,18 +162,9 @@ func (a *AndroidApp) shouldUncompressDex(ctx android.ModuleContext) bool { } // Uncompress dex in APKs of privileged apps, and modules used by privileged apps. if ctx.Config().UncompressPrivAppDex() && return ctx.Config().UncompressPrivAppDex() && (Bool(a.appProperties.Privileged) || inList(ctx.ModuleName(), ctx.Config().ModulesLoadedByPrivilegedModules())) { return true } // Uncompress if the dex files is preopted on /system. if !a.dexpreopter.dexpreoptDisabled(ctx) && (ctx.Host() || !odexOnSystemOther(ctx, a.dexpreopter.installPath)) { return true } return false inList(ctx.ModuleName(), ctx.Config().ModulesLoadedByPrivilegedModules())) } func (a *AndroidApp) aaptBuildActions(ctx android.ModuleContext) { Loading Loading @@ -232,6 +223,7 @@ func (a *AndroidApp) proguardBuildActions(ctx android.ModuleContext) { } func (a *AndroidApp) dexBuildActions(ctx android.ModuleContext) android.Path { a.deviceProperties.UncompressDex = a.shouldUncompressDex(ctx) var installDir string if ctx.ModuleName() == "framework-res" { Loading @@ -243,9 +235,6 @@ func (a *AndroidApp) dexBuildActions(ctx android.ModuleContext) android.Path { installDir = filepath.Join("app", a.installApkName) } a.dexpreopter.installPath = android.PathForModuleInstall(ctx, installDir, a.installApkName+".apk") a.dexpreopter.isInstallable = Bool(a.properties.Installable) a.dexpreopter.uncompressedDex = a.shouldUncompressDex(ctx) a.deviceProperties.UncompressDex = a.dexpreopter.uncompressedDex if ctx.ModuleName() != "framework-res" { a.Module.compile(ctx, a.aaptSrcJar) Loading java/dexpreopt.go +5 −14 Original line number Diff line number Diff line Loading @@ -83,7 +83,11 @@ func (d *dexpreopter) dexpreoptDisabled(ctx android.ModuleContext) bool { var dexpreoptGlobalConfigKey = android.NewOnceKey("DexpreoptGlobalConfig") func getGlobalConfig(ctx android.ModuleContext) dexpreopt.GlobalConfig { func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.ModuleOutPath) android.ModuleOutPath { if d.dexpreoptDisabled(ctx) { return dexJarFile } globalConfig := ctx.Config().Once(dexpreoptGlobalConfigKey, func() interface{} { if f := ctx.Config().DexpreoptGlobalConfig(); f != "" { ctx.AddNinjaFileDeps(f) Loading @@ -95,19 +99,6 @@ func getGlobalConfig(ctx android.ModuleContext) dexpreopt.GlobalConfig { } return dexpreopt.GlobalConfig{} }).(dexpreopt.GlobalConfig) return globalConfig } func odexOnSystemOther(ctx android.ModuleContext, installPath android.OutputPath) bool { return dexpreopt.OdexOnSystemOtherByName(ctx.ModuleName(), android.InstallPathToOnDevicePath(ctx, installPath), getGlobalConfig(ctx)) } func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.ModuleOutPath) android.ModuleOutPath { if d.dexpreoptDisabled(ctx) { return dexJarFile } globalConfig := getGlobalConfig(ctx) var archs []string for _, a := range ctx.MultiTargets() { Loading Loading
dexpreopt/config.go +1 −2 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ type GlobalConfig struct { SystemServerCompilerFilter string // default compiler filter to pass to dex2oat for system server jars GenerateDMFiles bool // generate Dex Metadata files NeverAllowStripping bool // whether stripping should not be done - used as build time check to make sure dex files are always available NoDebugInfo bool // don't generate debug info by default AlwaysSystemServerDebugInfo bool // always generate mini debug info for system server modules (overrides NoDebugInfo=true) Loading
dexpreopt/dexpreopt.go +3 −10 Original line number Diff line number Diff line Loading @@ -68,9 +68,6 @@ func GenerateStripRule(global GlobalConfig, module ModuleConfig) (rule *android. strip := shouldStripDex(module, global) if strip { if global.NeverAllowStripping { panic(fmt.Errorf("Stripping requested on %q, though the product does not allow it", module.DexLocation)) } // Only strips if the dex files are not already uncompressed rule.Command(). Textf(`if (zipinfo %s '*.dex' 2>/dev/null | grep -v ' stor ' >/dev/null) ; then`, module.StripInputPath). Loading Loading @@ -502,7 +499,7 @@ func shouldGenerateDM(module ModuleConfig, global GlobalConfig) bool { contains(module.PreoptFlags, "--compiler-filter=verify") } func OdexOnSystemOtherByName(name string, dexLocation string, global GlobalConfig) bool { func odexOnSystemOther(module ModuleConfig, global GlobalConfig) bool { if !global.HasSystemOther { return false } Loading @@ -511,12 +508,12 @@ func OdexOnSystemOtherByName(name string, dexLocation string, global GlobalConfi return false } if contains(global.SpeedApps, name) || contains(global.SystemServerApps, name) { if contains(global.SpeedApps, module.Name) || contains(global.SystemServerApps, module.Name) { return false } for _, f := range global.PatternsOnSystemOther { if makefileMatch(filepath.Join(SystemPartition, f), dexLocation) { if makefileMatch(filepath.Join(SystemPartition, f), module.DexLocation) { return true } } Loading @@ -524,10 +521,6 @@ func OdexOnSystemOtherByName(name string, dexLocation string, global GlobalConfi return false } func odexOnSystemOther(module ModuleConfig, global GlobalConfig) bool { return OdexOnSystemOtherByName(module.Name, module.DexLocation, global) } func pathForLibrary(module ModuleConfig, lib string) string { path := module.LibraryPaths[lib] if path == "" { Loading
dexpreopt/dexpreopt_test.go +0 −18 Original line number Diff line number Diff line Loading @@ -36,7 +36,6 @@ var testGlobalConfig = GlobalConfig{ DefaultCompilerFilter: "", SystemServerCompilerFilter: "", GenerateDMFiles: false, NeverAllowStripping: false, NoDebugInfo: false, AlwaysSystemServerDebugInfo: false, NeverSystemServerDebugInfo: false, Loading Loading @@ -111,23 +110,6 @@ func TestDexPreopt(t *testing.T) { } } func TestDexPreoptStrip(t *testing.T) { // Test that we panic if we strip in a configuration where stripping is not allowed. global, module := testGlobalConfig, testModuleConfig global.NeverAllowStripping = true module.NoStripping = false module.Name = "test" module.DexLocation = "/system/app/test/test.apk" module.BuildPath = "out/test/test.apk" module.Archs = []string{"arm"} _, err := GenerateStripRule(global, module) if err == nil { t.Errorf("Expected an error when calling GenerateStripRule on a stripped module") } } func TestDexPreoptSystemOther(t *testing.T) { global, module := testGlobalConfig, testModuleConfig Loading
java/app.go +3 −14 Original line number Diff line number Diff line Loading @@ -162,18 +162,9 @@ func (a *AndroidApp) shouldUncompressDex(ctx android.ModuleContext) bool { } // Uncompress dex in APKs of privileged apps, and modules used by privileged apps. if ctx.Config().UncompressPrivAppDex() && return ctx.Config().UncompressPrivAppDex() && (Bool(a.appProperties.Privileged) || inList(ctx.ModuleName(), ctx.Config().ModulesLoadedByPrivilegedModules())) { return true } // Uncompress if the dex files is preopted on /system. if !a.dexpreopter.dexpreoptDisabled(ctx) && (ctx.Host() || !odexOnSystemOther(ctx, a.dexpreopter.installPath)) { return true } return false inList(ctx.ModuleName(), ctx.Config().ModulesLoadedByPrivilegedModules())) } func (a *AndroidApp) aaptBuildActions(ctx android.ModuleContext) { Loading Loading @@ -232,6 +223,7 @@ func (a *AndroidApp) proguardBuildActions(ctx android.ModuleContext) { } func (a *AndroidApp) dexBuildActions(ctx android.ModuleContext) android.Path { a.deviceProperties.UncompressDex = a.shouldUncompressDex(ctx) var installDir string if ctx.ModuleName() == "framework-res" { Loading @@ -243,9 +235,6 @@ func (a *AndroidApp) dexBuildActions(ctx android.ModuleContext) android.Path { installDir = filepath.Join("app", a.installApkName) } a.dexpreopter.installPath = android.PathForModuleInstall(ctx, installDir, a.installApkName+".apk") a.dexpreopter.isInstallable = Bool(a.properties.Installable) a.dexpreopter.uncompressedDex = a.shouldUncompressDex(ctx) a.deviceProperties.UncompressDex = a.dexpreopter.uncompressedDex if ctx.ModuleName() != "framework-res" { a.Module.compile(ctx, a.aaptSrcJar) Loading
java/dexpreopt.go +5 −14 Original line number Diff line number Diff line Loading @@ -83,7 +83,11 @@ func (d *dexpreopter) dexpreoptDisabled(ctx android.ModuleContext) bool { var dexpreoptGlobalConfigKey = android.NewOnceKey("DexpreoptGlobalConfig") func getGlobalConfig(ctx android.ModuleContext) dexpreopt.GlobalConfig { func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.ModuleOutPath) android.ModuleOutPath { if d.dexpreoptDisabled(ctx) { return dexJarFile } globalConfig := ctx.Config().Once(dexpreoptGlobalConfigKey, func() interface{} { if f := ctx.Config().DexpreoptGlobalConfig(); f != "" { ctx.AddNinjaFileDeps(f) Loading @@ -95,19 +99,6 @@ func getGlobalConfig(ctx android.ModuleContext) dexpreopt.GlobalConfig { } return dexpreopt.GlobalConfig{} }).(dexpreopt.GlobalConfig) return globalConfig } func odexOnSystemOther(ctx android.ModuleContext, installPath android.OutputPath) bool { return dexpreopt.OdexOnSystemOtherByName(ctx.ModuleName(), android.InstallPathToOnDevicePath(ctx, installPath), getGlobalConfig(ctx)) } func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.ModuleOutPath) android.ModuleOutPath { if d.dexpreoptDisabled(ctx) { return dexJarFile } globalConfig := getGlobalConfig(ctx) var archs []string for _, a := range ctx.MultiTargets() { Loading