aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaewoong Jung <jungjw@google.com>2019-09-27 17:13:15 -0700
committerRashed Abdel-Tawab <rashed@linux.com>2019-10-06 07:14:51 -0700
commit2f46533cf13c11c9e640a52c04adffd0df5d868a (patch)
treec1052feae4128d3871df1b6d5431a004a3303fe1
parentab4d3e54a8f9386a984aa3193e563e4b4fd6f562 (diff)
downloadbuild_soong-2f46533cf13c11c9e640a52c04adffd0df5d868a.tar.gz
build_soong-2f46533cf13c11c9e640a52c04adffd0df5d868a.tar.bz2
build_soong-2f46533cf13c11c9e640a52c04adffd0df5d868a.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)