Fix characteristic rro for overridden packages

Overridden packages can have different package names. This change reads
output APKs to parse package name, instead of manifest xml.

Bug: 325011777
Test: boot and idmap2 dump
Change-Id: I748b9db8bd6282d7f3a1478cf94b21580c7683e7
This commit is contained in:
Inseob Kim
2024-02-14 16:55:33 +09:00
parent d8bab3758b
commit 5b90d3a703

View File

@@ -1113,6 +1113,8 @@ func (a *AndroidApp) OutputFiles(tag string) (android.Paths, error) {
if a.rJar != nil {
return []android.Path{a.rJar}, nil
}
case ".apk":
return []android.Path{a.outputFile}, nil
case ".export-package.apk":
return []android.Path{a.exportPackage}, nil
case ".manifest.xml":
@@ -1207,10 +1209,10 @@ func AndroidAppFactory() android.Module {
Cmd *string
}{
Name: proptools.StringPtr(rroManifestName),
Tools: []string{"characteristics_rro_generator"},
Tools: []string{"characteristics_rro_generator", "aapt2"},
Out: []string{"AndroidManifest.xml"},
Srcs: []string{":" + a.Name() + "{.manifest.xml}"},
Cmd: proptools.StringPtr("$(location characteristics_rro_generator) $(in) $(out)"),
Srcs: []string{":" + a.Name() + "{.apk}"},
Cmd: proptools.StringPtr("$(location characteristics_rro_generator) $$($(location aapt2) dump packagename $(in)) $(out)"),
}
ctx.CreateModule(genrule.GenRuleFactory, &rroManifestProperties)