diff options
Diffstat (limited to 'apex/apex.go')
| -rw-r--r-- | apex/apex.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/apex/apex.go b/apex/apex.go index f67504a5f..79fdb71d9 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -1275,6 +1275,11 @@ type apexBundleProperties struct { Legacy_android10_support *bool IsCoverageVariant bool `blueprint:"mutated"` + + // Whether this APEX is considered updatable or not. When set to true, this will enforce additional + // rules for making sure that the APEX is truely updatable. This will also disable the size optimizations + // like symlinking to the system libs. Default is false. + Updatable *bool } type apexTargetBundleProperties struct { @@ -2309,6 +2314,12 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { a.installable() && !proptools.Bool(a.properties.Use_vendor) + // We don't need the optimization for updatable APEXes, as it might give false signal + // to the system health when the APEXes are still bundled (b/149805758) + if proptools.Bool(a.properties.Updatable) && a.properties.ApexType == imageApex { + a.linkToSystemLib = false + } + // prepare apex_manifest.json a.buildManifest(ctx, provideNativeLibs, requireNativeLibs) |