diff --git a/java/androidmk.go b/java/androidmk.go
index aebbcc8..877d840 100644
--- a/java/androidmk.go
+++ b/java/androidmk.go
@@ -379,6 +379,9 @@
 				if ddoc.exactApiFile != nil {
 					fmt.Fprintln(w, apiFilePrefix+"EXACT_API_FILE := ", ddoc.exactApiFile.String())
 				}
+				if ddoc.proguardFile != nil {
+					fmt.Fprintln(w, apiFilePrefix+"PROGUARD_FILE := ", ddoc.proguardFile.String())
+				}
 			},
 		},
 	}
diff --git a/java/droiddoc.go b/java/droiddoc.go
index 6a28cfb..b1e3ea8 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -244,6 +244,9 @@
 	// the generated exact API filename by Doclava.
 	Exact_api_filename *string
 
+	// the generated proguard filename by Doclava.
+	Proguard_filename *string
+
 	// if set to false, don't allow droiddoc to generate stubs source files. Defaults to true.
 	Create_stubs *bool
 
@@ -606,6 +609,7 @@
 	removedDexApiFile android.WritablePath
 	exactApiFile      android.WritablePath
 	apiMappingFile    android.WritablePath
+	proguardFile      android.WritablePath
 
 	checkCurrentApiTimestamp      android.WritablePath
 	updateCurrentApiTimestamp     android.WritablePath
@@ -712,7 +716,8 @@
 	}
 }
 
-func (d *Droiddoc) initBuilderFlags(ctx android.ModuleContext, implicits *android.Paths, deps deps) (droiddocBuilderFlags, error) {
+func (d *Droiddoc) initBuilderFlags(ctx android.ModuleContext, implicits *android.Paths,
+	deps deps) (droiddocBuilderFlags, error) {
 	var flags droiddocBuilderFlags
 
 	*implicits = append(*implicits, deps.bootClasspath...)
@@ -912,6 +917,13 @@
 		*implicitOutputs = append(*implicitOutputs, d.apiMappingFile)
 	}
 
+	if String(d.properties.Proguard_filename) != "" {
+		d.proguardFile = android.PathForModuleOut(ctx, String(d.properties.Proguard_filename))
+		doclavaFlags += " -proguard " + d.proguardFile.String()
+		// Omitted: metalava support
+		*implicitOutputs = append(*implicitOutputs, d.proguardFile)
+	}
+
 	if BoolDefault(d.properties.Create_stubs, true) {
 		doclavaFlags += " -stubs " + android.PathForModuleOut(ctx, "stubsDir").String()
 	}
