diff --git a/android/module.go b/android/module.go
index a00cb7d..ef20f8d 100644
--- a/android/module.go
+++ b/android/module.go
@@ -78,6 +78,7 @@
 
 	InstallFile(installPath OutputPath, srcPath Path, deps ...Path) OutputPath
 	InstallFileName(installPath OutputPath, name string, srcPath Path, deps ...Path) OutputPath
+	InstallSymlink(installPath OutputPath, name string, srcPath OutputPath) OutputPath
 	CheckbuildFile(srcPath Path)
 
 	AddMissingDependencies(deps []string)
@@ -563,6 +564,24 @@
 	return a.InstallFileName(installPath, filepath.Base(srcPath.String()), srcPath, deps...)
 }
 
+func (a *androidModuleContext) InstallSymlink(installPath OutputPath, name string, srcPath OutputPath) OutputPath {
+	fullInstallPath := installPath.Join(a, name)
+
+	a.ModuleBuild(pctx, ModuleBuildParams{
+		Rule:      Symlink,
+		Output:    fullInstallPath,
+		OrderOnly: Paths{srcPath},
+		Default:   !a.AConfig().EmbeddedInMake(),
+		Args: map[string]string{
+			"fromPath": srcPath.String(),
+		},
+	})
+
+	a.installFiles = append(a.installFiles, fullInstallPath)
+	a.checkbuildFiles = append(a.checkbuildFiles, srcPath)
+	return fullInstallPath
+}
+
 func (a *androidModuleContext) CheckbuildFile(srcPath Path) {
 	a.checkbuildFiles = append(a.checkbuildFiles, srcPath)
 }
