diff options
| -rw-r--r-- | rust/rust.go | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/rust/rust.go b/rust/rust.go index 2e78a147a..ac17ed2b3 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -482,6 +482,16 @@ func (mod *Module) CoverageFiles() android.Paths { panic(fmt.Errorf("CoverageFiles called on non-library module: %q", mod.BaseModuleName())) } +func (mod *Module) installable(apexInfo android.ApexInfo) bool { + // The apex variant is not installable because it is included in the APEX and won't appear + // in the system partition as a standalone file. + if !apexInfo.IsForPlatform() { + return false + } + + return mod.outputFile.Valid() && !mod.Properties.PreventInstall +} + var _ cc.LinkableInterface = (*Module)(nil) func (mod *Module) Init() android.Module { @@ -653,7 +663,9 @@ func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) { outputFile := mod.compiler.compile(ctx, flags, deps) mod.outputFile = android.OptionalPathForPath(outputFile) - if mod.outputFile.Valid() && !mod.Properties.PreventInstall { + + apexInfo := actx.Provider(android.ApexInfoProvider).(android.ApexInfo) + if mod.installable(apexInfo) { mod.compiler.install(ctx) } } |