aboutsummaryrefslogtreecommitdiffstats
path: root/java/androidmk.go
diff options
context:
space:
mode:
authorJaewoong Jung <jungjw@google.com>2019-01-30 13:13:52 -0800
committerJaewoong Jung <jungjw@google.com>2019-02-07 07:15:45 -0800
commit9109d7278531801fdd47db1cb6c1b32a24466484 (patch)
tree67068d0a74f1cf3f0f2a63bc89bb8c97398185a4 /java/androidmk.go
parent23c52b0eb8e0cd210981d7e186714d800374b560 (diff)
downloadandroid_build_soong-9109d7278531801fdd47db1cb6c1b32a24466484.tar.gz
android_build_soong-9109d7278531801fdd47db1cb6c1b32a24466484.tar.bz2
android_build_soong-9109d7278531801fdd47db1cb6c1b32a24466484.zip
Add Android.mk lines for package name overriding.
This ensures the overriding/overridden packages are processed as intended when producing the final system image. Bug: 122957760 Test: Manual tests with Browser2, BrowserGoogle, and Chrome Change-Id: Ica05e53601b27c73de7f5c3bfcb9000103a11db6
Diffstat (limited to 'java/androidmk.go')
-rw-r--r--java/androidmk.go20
1 files changed, 18 insertions, 2 deletions
diff --git a/java/androidmk.go b/java/androidmk.go
index 089ed4fc..d86e71f9 100644
--- a/java/androidmk.go
+++ b/java/androidmk.go
@@ -203,6 +203,11 @@ func (app *AndroidApp) AndroidMk() android.AndroidMkData {
Include: "$(BUILD_SYSTEM)/soong_app_prebuilt.mk",
Extra: []android.AndroidMkExtraFunc{
func(w io.Writer, outputFile android.Path) {
+ // TODO(jungjw): This, outputting two LOCAL_MODULE lines, works, but is not ideal. Find a better solution.
+ if app.Name() != app.installApkName {
+ fmt.Fprintln(w, "# Overridden by PRODUCT_PACKAGE_NAME_OVERRIDES")
+ fmt.Fprintln(w, "LOCAL_MODULE :=", app.installApkName)
+ }
fmt.Fprintln(w, "LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE :=", app.exportPackage.String())
if app.dexJarFile != nil {
fmt.Fprintln(w, "LOCAL_SOONG_DEX_JAR :=", app.dexJarFile.String())
@@ -247,8 +252,8 @@ func (app *AndroidApp) AndroidMk() android.AndroidMkData {
}
fmt.Fprintln(w, "LOCAL_CERTIFICATE :=", app.certificate.Pem.String())
- if len(app.appProperties.Overrides) > 0 {
- fmt.Fprintln(w, "LOCAL_OVERRIDES_PACKAGES := "+strings.Join(app.appProperties.Overrides, " "))
+ if overriddenPkgs := app.getOverriddenPackages(); len(overriddenPkgs) > 0 {
+ fmt.Fprintln(w, "LOCAL_OVERRIDES_PACKAGES :=", strings.Join(overriddenPkgs, " "))
}
for _, jniLib := range app.installJniLibs {
@@ -262,6 +267,17 @@ func (app *AndroidApp) AndroidMk() android.AndroidMkData {
}
}
+func (a *AndroidApp) getOverriddenPackages() []string {
+ var overridden []string
+ if len(a.appProperties.Overrides) > 0 {
+ overridden = append(overridden, a.appProperties.Overrides...)
+ }
+ if a.Name() != a.installApkName {
+ overridden = append(overridden, a.Name())
+ }
+ return overridden
+}
+
func (a *AndroidTest) AndroidMk() android.AndroidMkData {
data := a.AndroidApp.AndroidMk()
data.Extra = append(data.Extra, func(w io.Writer, outputFile android.Path) {