Merge "Use aapt2 flag --rename-resources-package in soong"

This commit is contained in:
Liz Kammer 2020-05-19 14:59:04 +00:00 committed by Gerrit Code Review
commit f32bbf89de
2 changed files with 19 additions and 9 deletions

View file

@ -491,6 +491,16 @@ func (a *AndroidApp) shouldEmbedJnis(ctx android.BaseModuleContext) bool {
!a.IsForPlatform() || a.appProperties.AlwaysPackageNativeLibs
}
func generateAaptRenamePackageFlags(packageName string) []string {
aaptFlags := []string{}
aaptFlags = append(aaptFlags, "--rename-manifest-package "+packageName)
// --rename-resources-package renames the package within the resources table to packageName.
// Note: this will *not* rename the R.java file because the base module .R
// package may be directly referenced in code.
aaptFlags = append(aaptFlags, "--rename-resources-package "+packageName)
return aaptFlags
}
func (a *AndroidApp) OverriddenManifestPackageName() string {
return a.overriddenManifestPackageName
}
@ -527,7 +537,7 @@ func (a *AndroidApp) aaptBuildActions(ctx android.ModuleContext) {
if !overridden {
manifestPackageName = *a.overridableAppProperties.Package_name
}
aaptLinkFlags = append(aaptLinkFlags, "--rename-manifest-package "+manifestPackageName)
aaptLinkFlags = append(aaptLinkFlags, generateAaptRenamePackageFlags(manifestPackageName)...)
a.overriddenManifestPackageName = manifestPackageName
}

View file

@ -1688,7 +1688,7 @@ func TestOverrideAndroidApp(t *testing.T) {
certFlag string
lineageFlag string
overrides []string
aaptFlag string
packageFlag string
logging_parent string
}{
{
@ -1698,7 +1698,7 @@ func TestOverrideAndroidApp(t *testing.T) {
certFlag: "build/make/target/product/security/expiredkey.x509.pem build/make/target/product/security/expiredkey.pk8",
lineageFlag: "",
overrides: []string{"qux"},
aaptFlag: "",
packageFlag: "",
logging_parent: "",
},
{
@ -1708,7 +1708,7 @@ func TestOverrideAndroidApp(t *testing.T) {
certFlag: "cert/new_cert.x509.pem cert/new_cert.pk8",
lineageFlag: "--lineage lineage.bin",
overrides: []string{"qux", "foo"},
aaptFlag: "",
packageFlag: "",
logging_parent: "bah",
},
{
@ -1718,7 +1718,7 @@ func TestOverrideAndroidApp(t *testing.T) {
certFlag: "build/make/target/product/security/expiredkey.x509.pem build/make/target/product/security/expiredkey.pk8",
lineageFlag: "",
overrides: []string{"qux", "foo"},
aaptFlag: "--rename-manifest-package org.dandroid.bp",
packageFlag: "org.dandroid.bp",
logging_parent: "",
},
}
@ -1766,12 +1766,11 @@ func TestOverrideAndroidApp(t *testing.T) {
expected.logging_parent, logging_parent)
}
// Check the package renaming flag, if exists.
// Check the package renaming flags, if exists.
res := variant.Output("package-res.apk")
aapt2Flags := res.Args["flags"]
if !strings.Contains(aapt2Flags, expected.aaptFlag) {
t.Errorf("package renaming flag, %q is missing in aapt2 link flags, %q", expected.aaptFlag, aapt2Flags)
}
checkAapt2LinkFlag(t, aapt2Flags, "rename-manifest-package", expected.packageFlag)
checkAapt2LinkFlag(t, aapt2Flags, "rename-resources-package", expected.packageFlag)
}
}
@ -1908,6 +1907,7 @@ func TestOverrideAndroidTest(t *testing.T) {
res := variant.Output("package-res.apk")
aapt2Flags := res.Args["flags"]
checkAapt2LinkFlag(t, aapt2Flags, "rename-manifest-package", expected.packageFlag)
checkAapt2LinkFlag(t, aapt2Flags, "rename-resources-package", expected.packageFlag)
checkAapt2LinkFlag(t, aapt2Flags, "rename-instrumentation-target-package", expected.targetPackageFlag)
}
}