diff --git a/java/app.go b/java/app.go
index db2f182..ef576e2 100644
--- a/java/app.go
+++ b/java/app.go
@@ -207,14 +207,14 @@
 	var aaptDeps android.Paths
 	var hasResources bool
 	for _, d := range resourceDirs {
-		newDeps := ctx.Glob("app_resources", filepath.Join(d.String(), "**/*"), aaptIgnoreFilenames)
+		newDeps := ctx.Glob(filepath.Join(d.String(), "**/*"), aaptIgnoreFilenames)
 		aaptDeps = append(aaptDeps, newDeps...)
 		if len(newDeps) > 0 {
 			hasResources = true
 		}
 	}
 	for _, d := range assetDirs {
-		newDeps := ctx.Glob("app_assets", filepath.Join(d.String(), "**/*"), aaptIgnoreFilenames)
+		newDeps := ctx.Glob(filepath.Join(d.String(), "**/*"), aaptIgnoreFilenames)
 		aaptDeps = append(aaptDeps, newDeps...)
 	}
 
diff --git a/java/resources.go b/java/resources.go
index a4783b8..60dc934 100644
--- a/java/resources.go
+++ b/java/resources.go
@@ -17,6 +17,8 @@
 import (
 	"path/filepath"
 
+	"github.com/google/blueprint/bootstrap"
+
 	"android/soong/android"
 )
 
@@ -54,13 +56,13 @@
 			continue
 		}
 		resourceDir := android.PathForModuleSrc(ctx, resourceDir)
-		dirs := ctx.Glob("java_resources", resourceDir.String(), nil)
+		dirs := ctx.Glob(resourceDir.String(), nil)
 		for _, dir := range dirs {
 			fileListFile := android.ResPathWithName(ctx, dir, "resources.list")
 			depFile := fileListFile.String() + ".d"
 
-			glob := filepath.Join(dir.String(), "**/*")
-			android.GlobRule(ctx, glob, excludes, fileListFile.String(), depFile)
+			pattern := filepath.Join(dir.String(), "**/*")
+			bootstrap.GlobFile(ctx, pattern, excludes, fileListFile.String(), depFile)
 			jarSpecs = append(jarSpecs, jarSpec{fileListFile, dir})
 		}
 	}
