diff --git a/androidmk/cmd/androidmk/android.go b/androidmk/cmd/androidmk/android.go
index 934ea0c..8038473 100644
--- a/androidmk/cmd/androidmk/android.go
+++ b/androidmk/cmd/androidmk/android.go
@@ -11,19 +11,20 @@
 )
 
 var stringProperties = map[string]string{
-	"LOCAL_MODULE":          "name",
-	"LOCAL_MODULE_STEM":     "stem",
-	"LOCAL_MODULE_CLASS":    "class",
-	"LOCAL_CXX_STL":         "stl",
-	"LOCAL_STRIP_MODULE":    "strip",
-	"LOCAL_MULTILIB":        "compile_multilib",
-	"LOCAL_ARM_MODE_HACK":   "instruction_set",
-	"LOCAL_SDK_VERSION":     "sdk_version",
-	"LOCAL_NDK_STL_VARIANT": "stl",
-	"LOCAL_JAR_MANIFEST":    "manifest",
-	"LOCAL_JARJAR_RULES":    "jarjar_rules",
-	"LOCAL_CERTIFICATE":     "certificate",
-	"LOCAL_PACKAGE_NAME":    "name",
+	"LOCAL_MODULE":               "name",
+	"LOCAL_MODULE_STEM":          "stem",
+	"LOCAL_MODULE_CLASS":         "class",
+	"LOCAL_CXX_STL":              "stl",
+	"LOCAL_STRIP_MODULE":         "strip",
+	"LOCAL_MULTILIB":             "compile_multilib",
+	"LOCAL_ARM_MODE_HACK":        "instruction_set",
+	"LOCAL_SDK_VERSION":          "sdk_version",
+	"LOCAL_NDK_STL_VARIANT":      "stl",
+	"LOCAL_JAR_MANIFEST":         "manifest",
+	"LOCAL_JARJAR_RULES":         "jarjar_rules",
+	"LOCAL_CERTIFICATE":          "certificate",
+	"LOCAL_PACKAGE_NAME":         "name",
+	"LOCAL_MODULE_RELATIVE_PATH": "relative_install_path",
 }
 
 var listProperties = map[string]string{
diff --git a/cc/cc.go b/cc/cc.go
index f634697..18e499d 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -211,6 +211,9 @@
 
 	// Minimum sdk version supported when compiling against the ndk
 	Sdk_version string
+
+	// relative_install_path: install to a subdirectory of the default install path for the module
+	Relative_install_path string
 }
 
 type unusedProperties struct {
@@ -1079,7 +1082,7 @@
 		installDir = "lib64"
 	}
 
-	ctx.InstallFile(installDir, c.out)
+	ctx.InstallFile(filepath.Join(installDir, c.properties.Relative_install_path), c.out)
 }
 
 func (c *CCLibrary) installModule(ctx common.AndroidModuleContext, flags CCFlags) {
@@ -1280,7 +1283,7 @@
 }
 
 func (c *CCBinary) installModule(ctx common.AndroidModuleContext, flags CCFlags) {
-	ctx.InstallFile("bin", c.out)
+	ctx.InstallFile(filepath.Join("bin", c.properties.Relative_install_path), c.out)
 }
 
 type ccTest struct {
