diff options
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) { |