diff --git a/java/config/config.go b/java/config/config.go
index 848d09d..44651cb 100644
--- a/java/config/config.go
+++ b/java/config/config.go
@@ -14,10 +14,53 @@
 
 package config
 
-import "android/soong/android"
+import (
+	"path/filepath"
+	"strings"
+
+	_ "github.com/google/blueprint/bootstrap"
+
+	"android/soong/android"
+)
 
 var (
+	pctx = android.NewPackageContext("android/soong/java/config")
+
 	DefaultLibraries = []string{"core-oj", "core-libart", "ext", "framework", "okhttp"}
 )
 
-var pctx = android.NewPackageContext("android/soong/java/config")
+func init() {
+	pctx.Import("github.com/google/blueprint/bootstrap")
+
+	pctx.StaticVariable("CommonJdkFlags", strings.Join([]string{
+		`-J-Xmx2048M`,
+		`-Xmaxerrs 9999999`,
+		`-encoding UTF-8`,
+		`-sourcepath ""`,
+		`-g`,
+	}, " "))
+
+	pctx.StaticVariable("DefaultJavaVersion", "1.8")
+
+	pctx.VariableConfigMethod("hostPrebuiltTag", android.Config.PrebuiltOS)
+
+	pctx.SourcePathVariableWithEnvOverride("JavaHome",
+		"prebuilts/jdk/jdk8/${hostPrebuiltTag}", "OVERRIDE_ANDROID_JAVA_HOME")
+	pctx.SourcePathVariable("JavaToolchain", "${JavaHome}/bin")
+	pctx.SourcePathVariableWithEnvOverride("JavacCmd",
+		"${JavaToolchain}/javac", "ALTERNATE_JAVAC")
+	pctx.SourcePathVariable("JavaCmd", "${JavaToolchain}/java")
+	pctx.SourcePathVariable("JarCmd", "${JavaToolchain}/jar")
+	pctx.SourcePathVariable("JavadocCmd", "${JavaToolchain}/javadoc")
+
+	pctx.StaticVariable("SoongZipCmd", filepath.Join("${bootstrap.ToolDir}", "soong_zip"))
+	pctx.HostBinToolVariable("DxCmd", "dx")
+	pctx.HostJavaToolVariable("JarjarCmd", "jarjar.jar")
+
+	pctx.VariableFunc("JavacWrapper", func(config interface{}) (string, error) {
+		if override := config.(android.Config).Getenv("JAVAC_WRAPPER"); override != "" {
+			return override + " ", nil
+		}
+		return "", nil
+	})
+}
