aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaewoong Jung <jungjw@google.com>2019-09-27 17:13:15 -0700
committerMichael Bestas <mkbestas@lineageos.org>2019-12-11 19:03:32 +0200
commite7989310c6c9aa049b445d9cf77d3a5f8de327cd (patch)
tree4e1353a1ccd3a6dd1718ad455accff729c8608bb
parent02d7ebe400de1291bba716f48fc11fc350d724d0 (diff)
downloadbuild_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.go3
-rw-r--r--java/app.go3
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)