diff --git a/android/config.go b/android/config.go
index 6463f87..b89ae48 100644
--- a/android/config.go
+++ b/android/config.go
@@ -65,6 +65,20 @@
 	*deviceConfig
 }
 
+type VendorConfig interface {
+	// Bool interprets the variable named `name` as a boolean, returning true if, after
+	// lowercasing, it matches one of "1", "y", "yes", "on", or "true". Unset, or any other
+	// value will return false.
+	Bool(name string) bool
+
+	// String returns the string value of `name`. If the variable was not set, it will
+	// return the empty string.
+	String(name string) string
+
+	// IsSet returns whether the variable `name` was set by Make.
+	IsSet(name string) bool
+}
+
 type config struct {
 	FileConfigurableOptions
 	productVariables productVariables
@@ -107,6 +121,8 @@
 	OncePer
 }
 
+type vendorConfig map[string]string
+
 type jsonConfigurable interface {
 	SetDefaultConfig()
 }
@@ -788,6 +804,24 @@
 	return PrefixInList(path, *c.productVariables.CFIIncludePaths)
 }
 
+func (c *config) VendorConfig(name string) VendorConfig {
+	return vendorConfig(c.productVariables.VendorVars[name])
+}
+
+func (c vendorConfig) Bool(name string) bool {
+	v := strings.ToLower(c[name])
+	return v == "1" || v == "y" || v == "yes" || v == "on" || v == "true"
+}
+
+func (c vendorConfig) String(name string) string {
+	return c[name]
+}
+
+func (c vendorConfig) IsSet(name string) bool {
+	_, ok := c[name]
+	return ok
+}
+
 func stringSlice(s *[]string) []string {
 	if s != nil {
 		return *s
