diff --git a/apex/apex.go b/apex/apex.go index ec87f5b76..b69f01c7a 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -1162,6 +1162,10 @@ type apexBundleProperties struct { // Should be only used in tests#. Test_only_no_hashtree *bool + // Whenever apex_payload.img of the APEX should not be dm-verity signed. + // Should be only used in tests#. + Test_only_unsigned_payload *bool + IsCoverageVariant bool `blueprint:"mutated"` // Whether this APEX is considered updatable or not. When set to true, this will enforce additional @@ -1653,6 +1657,10 @@ func (a *apexBundle) testOnlyShouldSkipHashtreeGeneration() bool { return proptools.Bool(a.properties.Test_only_no_hashtree) } +func (a *apexBundle) testOnlyShouldSkipPayloadSign() bool { + return proptools.Bool(a.properties.Test_only_unsigned_payload) +} + func (a *apexBundle) getImageVariation(config android.DeviceConfig) string { if a.vndkApex { return cc.VendorVariationPrefix + a.vndkVersion(config) diff --git a/apex/builder.go b/apex/builder.go index 84cbff84e..0d7e80184 100644 --- a/apex/builder.go +++ b/apex/builder.go @@ -484,6 +484,10 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) { optFlags = append(optFlags, "--no_hashtree") } + if a.testOnlyShouldSkipPayloadSign() { + optFlags = append(optFlags, "--unsigned_payload") + } + if a.properties.Apex_name != nil { // If apex_name is set, apexer can skip checking if key name matches with apex name. // Note that apex_manifest is also mended.