diff --git a/android/testing.go b/android/testing.go
index 2a9c658..fc39a9c 100644
--- a/android/testing.go
+++ b/android/testing.go
@@ -813,20 +813,6 @@
 	return path.RelativeToTop()
 }
 
-func allOutputs(p BuildParams) []string {
-	outputs := append(WritablePaths(nil), p.Outputs...)
-	outputs = append(outputs, p.ImplicitOutputs...)
-	if p.Output != nil {
-		outputs = append(outputs, p.Output)
-	}
-	return outputs.Strings()
-}
-
-// AllOutputs returns all 'BuildParams.Output's and 'BuildParams.Outputs's in their full path string forms.
-func (p TestingBuildParams) AllOutputs() []string {
-	return allOutputs(p.BuildParams)
-}
-
 // baseTestingComponent provides functionality common to both TestingModule and TestingSingleton.
 type baseTestingComponent struct {
 	config   Config
@@ -968,7 +954,12 @@
 func (b baseTestingComponent) allOutputs() []string {
 	var outputFullPaths []string
 	for _, p := range b.provider.BuildParamsForTests() {
-		outputFullPaths = append(outputFullPaths, allOutputs(p)...)
+		outputs := append(WritablePaths(nil), p.Outputs...)
+		outputs = append(outputs, p.ImplicitOutputs...)
+		if p.Output != nil {
+			outputs = append(outputs, p.Output)
+		}
+		outputFullPaths = append(outputFullPaths, outputs.Strings()...)
 	}
 	return outputFullPaths
 }
