diff --git a/dexpreopt/dexpreopt.go b/dexpreopt/dexpreopt.go index c378f096b..40644a35e 100644 --- a/dexpreopt/dexpreopt.go +++ b/dexpreopt/dexpreopt.go @@ -248,7 +248,7 @@ func dexpreoptCommand(ctx android.PathContext, global GlobalConfig, module Modul odexPath := module.BuildPath.InSameDir(ctx, "oat", arch.String(), pathtools.ReplaceExtension(base, "odex")) odexInstallPath := toOdexPath(module.DexLocation) if odexOnSystemOther(module, global) { - odexInstallPath = strings.Replace(odexInstallPath, SystemPartition, SystemOtherPartition, 1) + odexInstallPath = filepath.Join(SystemOtherPartition, odexInstallPath) } vdexPath := odexPath.ReplaceExtension(ctx, "vdex") diff --git a/dexpreopt/dexpreopt_test.go b/dexpreopt/dexpreopt_test.go index 78f2f3fb5..aca5e63af 100644 --- a/dexpreopt/dexpreopt_test.go +++ b/dexpreopt/dexpreopt_test.go @@ -117,7 +117,7 @@ func TestDexPreoptSystemOther(t *testing.T) { { patterns: []string{"app/%"}, moduleTests: []moduleTest{ - {module: systemModule, expectedPartition: "system_other"}, + {module: systemModule, expectedPartition: "system_other/system"}, {module: systemProductModule, expectedPartition: "system/product"}, {module: productModule, expectedPartition: "product"}, }, @@ -126,8 +126,8 @@ func TestDexPreoptSystemOther(t *testing.T) { { patterns: []string{"app/%", "product/app/%"}, moduleTests: []moduleTest{ - {module: systemModule, expectedPartition: "system_other"}, - {module: systemProductModule, expectedPartition: "system_other/product"}, + {module: systemModule, expectedPartition: "system_other/system"}, + {module: systemProductModule, expectedPartition: "system_other/system/product"}, {module: productModule, expectedPartition: "product"}, }, },