diff --git a/cc/cc.go b/cc/cc.go
index dd9a831..15b8cb7 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -115,6 +115,26 @@
 	illegalFlags = []string{
 		"-w",
 	}
+
+	ndkPrebuiltSharedLibs = []string{
+		"android",
+		"c",
+		"dl",
+		"EGL",
+		"GLESv1_CM",
+		"GLESv2",
+		"GLESv3",
+		"jnigraphics",
+		"log",
+		"mediandk",
+		"m",
+		"OpenMAXAL",
+		"OpenSLES",
+		"stdc++",
+		"vulkan",
+		"z",
+	}
+	ndkPrebuiltSharedLibraries = addPrefix(append([]string(nil), ndkPrebuiltSharedLibs...), "lib")
 )
 
 func init() {
@@ -800,6 +820,22 @@
 	deps.SharedLibs = lastUniqueElements(deps.SharedLibs)
 	deps.LateSharedLibs = lastUniqueElements(deps.LateSharedLibs)
 
+	if ctx.sdk() {
+		version := "." + ctx.sdkVersion()
+
+		rewriteNdkLibs := func(list []string) []string {
+			for i, entry := range list {
+				if inList(entry, ndkPrebuiltSharedLibraries) {
+					list[i] = "ndk_" + entry + version
+				}
+			}
+			return list
+		}
+
+		deps.SharedLibs = rewriteNdkLibs(deps.SharedLibs)
+		deps.LateSharedLibs = rewriteNdkLibs(deps.LateSharedLibs)
+	}
+
 	for _, lib := range deps.ReexportSharedLibHeaders {
 		if !inList(lib, deps.SharedLibs) {
 			ctx.PropertyErrorf("export_shared_lib_headers", "Shared library not in shared_libs: '%s'", lib)
@@ -1320,10 +1356,9 @@
 		}
 
 		if ctx.sdk() {
-			version := ctx.sdkVersion()
 			deps.SharedLibs = append(deps.SharedLibs,
-				"ndk_libc."+version,
-				"ndk_libm."+version,
+				"libc",
+				"libm",
 			)
 		}
 	}
