Loading dexpreopt/dexpreopt.go +20 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,10 @@ func dexpreoptCommand(ctx android.PathContext, globalSoong *GlobalSoongConfig, g var conditionalClassLoaderContextHost29 android.Paths var conditionalClassLoaderContextTarget29 []string // Extra paths that will be appended to the class loader if the APK manifest has targetSdkVersion < 30 var conditionalClassLoaderContextHost30 android.Paths var conditionalClassLoaderContextTarget30 []string // A flag indicating if the '&' class loader context is used. unknownClassLoaderContext := false Loading Loading @@ -280,6 +284,17 @@ func dexpreoptCommand(ctx android.PathContext, globalSoong *GlobalSoongConfig, g pathForLibrary(module, hidlBase)) conditionalClassLoaderContextTarget29 = append(conditionalClassLoaderContextTarget29, filepath.Join("/system/framework", hidlBase+".jar")) // android.test.base contains classes that were in the default classpath until API 30. // If the targetSdkVersion in the manifest or APK is < 30 then implicitly add it to the // classpath for dexpreopt. const testBase = "android.test.base" if !contains(usesLibs, testBase) { conditionalClassLoaderContextHost30 = append(conditionalClassLoaderContextHost30, pathForLibrary(module, testBase)) conditionalClassLoaderContextTarget30 = append(conditionalClassLoaderContextTarget30, filepath.Join("/system/framework", testBase+".jar")) } } else if jarIndex := android.IndexList(module.Name, systemServerJars); jarIndex >= 0 { // System server jars should be dexpreopted together: class loader context of each jar // should include all preceding jars on the system server classpath. Loading Loading @@ -345,6 +360,11 @@ func dexpreoptCommand(ctx android.PathContext, globalSoong *GlobalSoongConfig, g Implicits(conditionalClassLoaderContextHost29) rule.Command().Textf(`conditional_target_libs_29="%s"`, strings.Join(conditionalClassLoaderContextTarget29, " ")) rule.Command().Textf(`conditional_host_libs_30="%s"`, strings.Join(conditionalClassLoaderContextHost30.Strings(), " ")). Implicits(conditionalClassLoaderContextHost30) rule.Command().Textf(`conditional_target_libs_30="%s"`, strings.Join(conditionalClassLoaderContextTarget30, " ")) rule.Command().Text("source").Tool(globalSoong.ConstructContext).Input(module.DexPath) } Loading java/app.go +1 −0 Original line number Diff line number Diff line Loading @@ -1863,6 +1863,7 @@ func (u *usesLibrary) deps(ctx android.BottomUpMutatorContext, hasFrameworkLibs "org.apache.http.legacy", "android.hidl.base-V1.0-java", "android.hidl.manager-V1.0-java") ctx.AddVariationDependencies(nil, usesLibTag, optionalUsesLibs...) } } } Loading java/testing.go +16 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,22 @@ func GatherRequiredDepsForTest() string { system_modules: "core-platform-api-stubs-system-modules", installable: true, } java_library { name: "android.test.base", srcs: ["a.java"], sdk_version: "none", system_modules: "core-platform-api-stubs-system-modules", installable: true, } java_library { name: "android.test.mock", srcs: ["a.java"], sdk_version: "none", system_modules: "core-platform-api-stubs-system-modules", installable: true, } ` systemModules := []string{ Loading Loading
dexpreopt/dexpreopt.go +20 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,10 @@ func dexpreoptCommand(ctx android.PathContext, globalSoong *GlobalSoongConfig, g var conditionalClassLoaderContextHost29 android.Paths var conditionalClassLoaderContextTarget29 []string // Extra paths that will be appended to the class loader if the APK manifest has targetSdkVersion < 30 var conditionalClassLoaderContextHost30 android.Paths var conditionalClassLoaderContextTarget30 []string // A flag indicating if the '&' class loader context is used. unknownClassLoaderContext := false Loading Loading @@ -280,6 +284,17 @@ func dexpreoptCommand(ctx android.PathContext, globalSoong *GlobalSoongConfig, g pathForLibrary(module, hidlBase)) conditionalClassLoaderContextTarget29 = append(conditionalClassLoaderContextTarget29, filepath.Join("/system/framework", hidlBase+".jar")) // android.test.base contains classes that were in the default classpath until API 30. // If the targetSdkVersion in the manifest or APK is < 30 then implicitly add it to the // classpath for dexpreopt. const testBase = "android.test.base" if !contains(usesLibs, testBase) { conditionalClassLoaderContextHost30 = append(conditionalClassLoaderContextHost30, pathForLibrary(module, testBase)) conditionalClassLoaderContextTarget30 = append(conditionalClassLoaderContextTarget30, filepath.Join("/system/framework", testBase+".jar")) } } else if jarIndex := android.IndexList(module.Name, systemServerJars); jarIndex >= 0 { // System server jars should be dexpreopted together: class loader context of each jar // should include all preceding jars on the system server classpath. Loading Loading @@ -345,6 +360,11 @@ func dexpreoptCommand(ctx android.PathContext, globalSoong *GlobalSoongConfig, g Implicits(conditionalClassLoaderContextHost29) rule.Command().Textf(`conditional_target_libs_29="%s"`, strings.Join(conditionalClassLoaderContextTarget29, " ")) rule.Command().Textf(`conditional_host_libs_30="%s"`, strings.Join(conditionalClassLoaderContextHost30.Strings(), " ")). Implicits(conditionalClassLoaderContextHost30) rule.Command().Textf(`conditional_target_libs_30="%s"`, strings.Join(conditionalClassLoaderContextTarget30, " ")) rule.Command().Text("source").Tool(globalSoong.ConstructContext).Input(module.DexPath) } Loading
java/app.go +1 −0 Original line number Diff line number Diff line Loading @@ -1863,6 +1863,7 @@ func (u *usesLibrary) deps(ctx android.BottomUpMutatorContext, hasFrameworkLibs "org.apache.http.legacy", "android.hidl.base-V1.0-java", "android.hidl.manager-V1.0-java") ctx.AddVariationDependencies(nil, usesLibTag, optionalUsesLibs...) } } } Loading
java/testing.go +16 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,22 @@ func GatherRequiredDepsForTest() string { system_modules: "core-platform-api-stubs-system-modules", installable: true, } java_library { name: "android.test.base", srcs: ["a.java"], sdk_version: "none", system_modules: "core-platform-api-stubs-system-modules", installable: true, } java_library { name: "android.test.mock", srcs: ["a.java"], sdk_version: "none", system_modules: "core-platform-api-stubs-system-modules", installable: true, } ` systemModules := []string{ Loading