diff --git a/cc/androidmk.go b/cc/androidmk.go
index f853b13..cba8782 100644
--- a/cc/androidmk.go
+++ b/cc/androidmk.go
@@ -76,6 +76,9 @@
 
 	c.subAndroidMk(&ret, c.compiler)
 	c.subAndroidMk(&ret, c.linker)
+	if c.sanitize != nil {
+		c.subAndroidMk(&ret, c.sanitize)
+	}
 	c.subAndroidMk(&ret, c.installer)
 
 	if c.vndk() {
diff --git a/cc/config/toolchain.go b/cc/config/toolchain.go
index 5270437..fc0282b 100644
--- a/cc/config/toolchain.go
+++ b/cc/config/toolchain.go
@@ -212,7 +212,7 @@
 	if arch == "" {
 		return ""
 	}
-	return "libclang_rt." + sanitizer + "-" + arch + "-android.so"
+	return "libclang_rt." + sanitizer + "-" + arch + "-android"
 }
 
 func AddressSanitizerRuntimeLibrary(t Toolchain) string {
diff --git a/cc/sanitize.go b/cc/sanitize.go
index 7d7bd09..ab7768a 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -16,6 +16,7 @@
 
 import (
 	"fmt"
+	"io"
 	"strings"
 
 	"github.com/google/blueprint"
@@ -102,6 +103,8 @@
 
 type sanitize struct {
 	Properties SanitizeProperties
+
+	runtimeLibrary string
 }
 
 func (sanitize *sanitize) props() []interface{} {
@@ -377,7 +380,10 @@
 
 	// ASan runtime library must be the first in the link order.
 	if runtimeLibrary != "" {
-		flags.libFlags = append([]string{"${config.ClangAsanLibDir}/" + runtimeLibrary}, flags.libFlags...)
+		flags.libFlags = append([]string{
+			"${config.ClangAsanLibDir}/" + runtimeLibrary + ctx.toolchain().ShlibSuffix(),
+		}, flags.libFlags...)
+		sanitize.runtimeLibrary = runtimeLibrary
 	}
 
 	blacklist := android.OptionalPathForModuleSrc(ctx, sanitize.Properties.Sanitize.Blacklist)
@@ -389,6 +395,16 @@
 	return flags
 }
 
+func (sanitize *sanitize) AndroidMk(ctx AndroidMkContext, ret *android.AndroidMkData) {
+	ret.Extra = append(ret.Extra, func(w io.Writer, outputFile android.Path) error {
+		if sanitize.runtimeLibrary != "" {
+			fmt.Fprintln(w, "LOCAL_SHARED_LIBRARIES += "+sanitize.runtimeLibrary)
+		}
+
+		return nil
+	})
+}
+
 func (sanitize *sanitize) inSanitizerDir() bool {
 	return sanitize.Properties.InSanitizerDir
 }
