diff --git a/java/java.go b/java/java.go
index 24debac..8f58c6e 100644
--- a/java/java.go
+++ b/java/java.go
@@ -319,6 +319,16 @@
 	}
 }
 
+func (j *Module) shouldInstrument(ctx android.BaseContext) bool {
+	return j.properties.Instrument && ctx.Config().IsEnvTrue("EMMA_INSTRUMENT")
+}
+
+func (j *Module) shouldInstrumentStatic(ctx android.BaseContext) bool {
+	return j.shouldInstrument(ctx) &&
+		(ctx.Config().IsEnvTrue("EMMA_INSTRUMENT_STATIC") ||
+			ctx.Config().UnbundledBuild())
+}
+
 func decodeSdkDep(ctx android.BaseContext, v string) sdkDep {
 	i := sdkStringToNumber(ctx, v)
 	if i == -1 {
@@ -443,6 +453,10 @@
 		// Kotlin files
 		ctx.AddDependency(ctx.Module(), kotlinStdlibTag, "kotlin-stdlib")
 	}
+
+	if j.shouldInstrumentStatic(ctx) {
+		ctx.AddDependency(ctx.Module(), staticLibTag, "jacocoagent")
+	}
 }
 
 func hasSrcExt(srcs []string, ext string) bool {
@@ -871,7 +885,7 @@
 		}
 	}
 
-	if ctx.Config().IsEnvTrue("EMMA_INSTRUMENT") && j.properties.Instrument {
+	if j.shouldInstrument(ctx) {
 		outputFile = j.instrument(ctx, flags, outputFile, jarName)
 	}
 
