From e7989310c6c9aa049b445d9cf77d3a5f8de327cd Mon Sep 17 00:00:00 2001 From: Jaewoong Jung Date: Fri, 27 Sep 2019 17:13:15 -0700 Subject: 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 : pairs whereas Soong outputs :$(LOCAL_MODULE_PATH)/ pairs. This also adds a missing underscore in split apk filenames. Test: m Split Bug: 140795853 Change-Id: I3d6506f5e12106174fbbaef34749a272b5e1b90c --- java/androidmk.go | 3 ++- java/app.go | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) 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) -- cgit v1.2.3