diff --git a/android/module.go b/android/module.go index e8d736064..fa6388cb8 100644 --- a/android/module.go +++ b/android/module.go @@ -1514,6 +1514,12 @@ func (m *ModuleBase) EnableNativeBridgeSupportByDefault() { m.commonProperties.Native_bridge_supported = boolPtr(true) } +func (m *ModuleBase) MakeAsSystemExt() { + if !Bool(m.commonProperties.Vendor) && !Bool(m.commonProperties.Product_specific) { + m.commonProperties.System_ext_specific = boolPtr(true) + } +} + // IsNativeBridgeSupported returns true if "native_bridge_supported" is explicitly set as "true" func (m *ModuleBase) IsNativeBridgeSupported() bool { return proptools.Bool(m.commonProperties.Native_bridge_supported) diff --git a/apex/apex.go b/apex/apex.go index fe085b989..d9dd5a936 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -345,7 +345,7 @@ func apexFlattenedMutator(mctx android.BottomUpMutatorContext) { case "both": variants = append(variants, imageApexType, zipApexType, flattenedApexType) default: - mctx.PropertyErrorf("type", "%q is not one of \"image\" or \"zip\".", *ab.properties.Payload_type) + mctx.PropertyErrorf("type", "%q is not one of \"image\", \"zip\", or \"both\".", *ab.properties.Payload_type) return } @@ -359,6 +359,9 @@ func apexFlattenedMutator(mctx android.BottomUpMutatorContext) { modules[i].(*apexBundle).properties.ApexType = zipApex case flattenedApexType: modules[i].(*apexBundle).properties.ApexType = flattenedApex + if !mctx.Config().FlattenApex() { + modules[i].(*apexBundle).MakeAsSystemExt() + } } } }