diff options
author | Jaewoong Jung <jungjw@google.com> | 2019-01-30 13:13:52 -0800 |
---|---|---|
committer | Jaewoong Jung <jungjw@google.com> | 2019-02-07 07:15:45 -0800 |
commit | 9109d7278531801fdd47db1cb6c1b32a24466484 (patch) | |
tree | 67068d0a74f1cf3f0f2a63bc89bb8c97398185a4 /java/androidmk.go | |
parent | 23c52b0eb8e0cd210981d7e186714d800374b560 (diff) | |
download | android_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.go | 20 |
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) { |