diff --git a/cc/cc.go b/cc/cc.go
index e650435..25e7147 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -456,6 +456,7 @@
 	noDefaultCompilerFlags() bool
 	sdk() bool
 	sdkVersion() string
+	selectedStl() string
 }
 
 type ModuleContext interface {
@@ -637,6 +638,13 @@
 	return ctx.mod.Properties.Sdk_version
 }
 
+func (ctx *moduleContextImpl) selectedStl() string {
+	if stl := ctx.mod.stl; stl != nil {
+		return stl.Properties.SelectedStl
+	}
+	return ""
+}
+
 func newBaseModule(hod common.HostOrDeviceSupported, multilib common.Multilib) *Module {
 	return &Module{
 		hod:      hod,
@@ -2058,7 +2066,18 @@
 
 func (test *testLinker) deps(ctx BaseModuleContext, deps Deps) Deps {
 	if test.Properties.Gtest {
-		deps.StaticLibs = append(deps.StaticLibs, "libgtest_main", "libgtest")
+		if ctx.sdk() && ctx.Device() {
+			switch ctx.selectedStl() {
+			case "ndk_libc++_shared", "ndk_libc++_static":
+				deps.StaticLibs = append(deps.StaticLibs, "libgtest_main_ndk_libcxx", "libgtest_ndk_libcxx")
+			case "ndk_libgnustl_static":
+				deps.StaticLibs = append(deps.StaticLibs, "libgtest_main_ndk_gnustl", "libgtest_ndk_gnustl")
+			default:
+				deps.StaticLibs = append(deps.StaticLibs, "libgtest_main_ndk", "libgtest_ndk")
+			}
+		} else {
+			deps.StaticLibs = append(deps.StaticLibs, "libgtest_main", "libgtest")
+		}
 	}
 	deps = test.binaryLinker.deps(ctx, deps)
 	return deps
