diff --git a/java/droiddoc.go b/java/droiddoc.go
index 777cd9c..a85da0e 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -935,15 +935,15 @@
 	})
 
 	if len(d.properties.Html_dirs) > 0 {
-		htmlDir := android.PathForModuleSrc(ctx, d.properties.Html_dirs[0])
-		*implicits = append(*implicits, ctx.Glob(htmlDir.Join(ctx, "**/*").String(), nil)...)
-		args = args + " -htmldir " + htmlDir.String()
+		htmlDir := d.properties.Html_dirs[0]
+		*implicits = append(*implicits, ctx.ExpandSources([]string{filepath.Join(d.properties.Html_dirs[0], "**/*")}, nil)...)
+		args = args + " -htmldir " + htmlDir
 	}
 
 	if len(d.properties.Html_dirs) > 1 {
-		htmlDir2 := android.PathForModuleSrc(ctx, d.properties.Html_dirs[1])
-		*implicits = append(*implicits, ctx.Glob(htmlDir2.Join(ctx, "**/*").String(), nil)...)
-		args = args + " -htmldir2 " + htmlDir2.String()
+		htmlDir2 := d.properties.Html_dirs[1]
+		*implicits = append(*implicits, ctx.ExpandSources([]string{filepath.Join(htmlDir2, "**/*")}, nil)...)
+		args = args + " -htmldir2 " + htmlDir2
 	}
 
 	if len(d.properties.Html_dirs) > 2 {
@@ -1791,9 +1791,9 @@
 func (d *ExportedDroiddocDir) DepsMutator(android.BottomUpMutatorContext) {}
 
 func (d *ExportedDroiddocDir) GenerateAndroidBuildActions(ctx android.ModuleContext) {
-	path := android.PathForModuleSrc(ctx, String(d.properties.Path))
-	d.dir = path
-	d.deps = ctx.Glob(path.Join(ctx, "**/*").String(), nil)
+	path := String(d.properties.Path)
+	d.dir = android.PathForModuleSrc(ctx, path)
+	d.deps = ctx.ExpandSources([]string{filepath.Join(path, "**/*")}, nil)
 }
 
 //
diff --git a/java/java_resources.go b/java/java_resources.go
index 6c1fd39..4622963 100644
--- a/java/java_resources.go
+++ b/java/java_resources.go
@@ -39,10 +39,10 @@
 	var excludeFiles []string
 
 	for _, exclude := range excludeResourceDirs {
-		dirs := ctx.Glob(android.PathForModuleSrc(ctx).Join(ctx, exclude).String(), nil)
+		dirs := ctx.Glob(android.PathForSource(ctx, ctx.ModuleDir()).Join(ctx, exclude).String(), nil)
 		for _, dir := range dirs {
 			excludeDirs = append(excludeDirs, dir.String())
-			excludeFiles = append(excludeFiles, dir.(android.ModuleSrcPath).Join(ctx, "**/*").String())
+			excludeFiles = append(excludeFiles, dir.(android.SourcePath).Join(ctx, "**/*").String())
 		}
 	}
 
@@ -52,7 +52,7 @@
 
 	for _, resourceDir := range resourceDirs {
 		// resourceDir may be a glob, resolve it first
-		dirs := ctx.Glob(android.PathForModuleSrc(ctx).Join(ctx, resourceDir).String(), excludeDirs)
+		dirs := ctx.Glob(android.PathForSource(ctx, ctx.ModuleDir()).Join(ctx, resourceDir).String(), excludeDirs)
 		for _, dir := range dirs {
 			files := ctx.GlobFiles(filepath.Join(dir.String(), "**/*"), excludeFiles)
 
