diff options
-rw-r--r-- | apex/apex_test.go | 39 | ||||
-rw-r--r-- | apex/builder.go | 3 |
2 files changed, 41 insertions, 1 deletions
diff --git a/apex/apex_test.go b/apex/apex_test.go index 645778b10..68978b2e8 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -11861,3 +11861,42 @@ func TestApexSSCPJarMustBeInSamePartitionAsApex(t *testing.T) { dexpreopt.FixtureSetApexSystemServerJars("myapex:foo"), ) } + +// partitions should not package the artifacts that are included inside the apex. +func TestFilesystemWithApexDeps(t *testing.T) { + t.Parallel() + result := testApex(t, ` + android_filesystem { + name: "myfilesystem", + deps: ["myapex"], + } + apex { + name: "myapex", + key: "myapex.key", + binaries: ["binfoo"], + native_shared_libs: ["libfoo"], + apps: ["appfoo"], + updatable: false, + } + apex_key { + name: "myapex.key", + } + cc_binary { + name: "binfoo", + apex_available: ["myapex"], + } + cc_library { + name: "libfoo", + apex_available: ["myapex"], + } + android_app { + name: "appfoo", + sdk_version: "current", + apex_available: ["myapex"], + } + `, filesystem.PrepareForTestWithFilesystemBuildComponents) + + partition := result.ModuleForTests("myfilesystem", "android_common") + fileList := android.ContentFromFileRuleForTests(t, result, partition.Output("fileList")) + android.AssertDeepEquals(t, "filesystem with apex", "apex/myapex.apex\n", fileList) +} diff --git a/apex/builder.go b/apex/builder.go index 371d7d527..8bfb210fb 100644 --- a/apex/builder.go +++ b/apex/builder.go @@ -621,7 +621,8 @@ func (a *apexBundle) buildApex(ctx android.ModuleContext) { } } else { if installSymbolFiles { - installedPath = ctx.InstallFile(apexDir.Join(ctx, fi.installDir), fi.stem(), fi.builtFile) + // store installedPath. symlinks might be created if required. + installedPath = apexDir.Join(ctx, fi.installDir, fi.stem()) } } |