diff --git a/genrule/genrule.go b/genrule/genrule.go index a2a3f7584..f8838d249 100644 --- a/genrule/genrule.go +++ b/genrule/genrule.go @@ -317,7 +317,17 @@ func (g *Module) generateCommonBuildActions(ctx android.ModuleContext) { // required relative locations of the tool and its dependencies, use those // instead. They will be copied to those relative locations in the sbox // sandbox. - packagedTools = append(packagedTools, specs...) + // Care must be taken since TransitivePackagingSpec may return device-side + // paths via the required property. Filter them out. + for i, ps := range specs { + if ps.Partition() != "" { + if i == 0 { + panic("first PackagingSpec is assumed to be the host-side tool") + } + continue + } + packagedTools = append(packagedTools, ps) + } // Assume that the first PackagingSpec of the module is the tool. addLocationLabel(tag.label, packagedToolLocation{specs[0]}) } else {