diff options
author | Jaewoong Jung <jungjw@google.com> | 2019-09-27 17:13:15 -0700 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2019-12-11 19:03:32 +0200 |
commit | e7989310c6c9aa049b445d9cf77d3a5f8de327cd (patch) | |
tree | 4e1353a1ccd3a6dd1718ad455accff729c8608bb | |
parent | 02d7ebe400de1291bba716f48fc11fc350d724d0 (diff) | |
download | build_soong-e7989310c6c9aa049b445d9cf77d3a5f8de327cd.tar.gz build_soong-e7989310c6c9aa049b445d9cf77d3a5f8de327cd.tar.bz2 build_soong-e7989310c6c9aa049b445d9cf77d3a5f8de327cd.zip |
Fix split apk paths.
Soong has been outputting incorrect Android.mk entries for split apks.
soong_app_prebuilt.mk expects LOCAL_SOONG_BUILT_INSTALLED to contain a
list of <split apk path>:<on device install path> pairs whereas Soong
outputs <split apk path>:$(LOCAL_MODULE_PATH)/<split apk filename> pairs.
This also adds a missing underscore in split apk filenames.
Test: m Split
Bug: 140795853
Change-Id: I3d6506f5e12106174fbbaef34749a272b5e1b90c
-rw-r--r-- | java/androidmk.go | 3 | ||||
-rw-r--r-- | java/app.go | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/java/androidmk.go b/java/androidmk.go index c7f08709..9c7f7216 100644 --- a/java/androidmk.go +++ b/java/androidmk.go @@ -320,7 +320,8 @@ func (app *AndroidApp) AndroidMk() android.AndroidMkData { fmt.Fprintln(w, "LOCAL_SOONG_BUILT_INSTALLED :=", app.dexpreopter.builtInstalled) } for _, split := range app.aapt.splits { - install := "$(LOCAL_MODULE_PATH)/" + strings.TrimSuffix(app.installApkName, ".apk") + split.suffix + ".apk" + install := app.onDeviceDir + "/" + + strings.TrimSuffix(app.installApkName, ".apk") + "_" + split.suffix + ".apk" fmt.Fprintln(w, "LOCAL_SOONG_BUILT_INSTALLED +=", split.path.String()+":"+install) } }, diff --git a/java/app.go b/java/app.go index f7cf8a5d..7e38f877 100644 --- a/java/app.go +++ b/java/app.go @@ -121,6 +121,8 @@ type AndroidApp struct { installDir android.OutputPath + onDeviceDir string + additionalAaptFlags []string } @@ -410,6 +412,7 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) { } else { a.installDir = android.PathForModuleInstall(ctx, "app", a.installApkName) } + a.onDeviceDir = android.InstallPathToOnDevicePath(ctx, a.installDir) a.aapt.noticeFile = a.noticeBuildActions(ctx) |