diff --git a/android/config.go b/android/config.go
index f6ca2e7..725f43d 100644
--- a/android/config.go
+++ b/android/config.go
@@ -323,8 +323,12 @@
 	return "M"
 }
 
+func (c *config) PlatformSdkVersionInt() int {
+	return *c.ProductVariables.Platform_sdk_version
+}
+
 func (c *config) PlatformSdkVersion() string {
-	return strconv.Itoa(*c.ProductVariables.Platform_sdk_version)
+	return strconv.Itoa(c.PlatformSdkVersionInt())
 }
 
 func (c *config) BuildNumber() string {
diff --git a/cc/ndk_library.go b/cc/ndk_library.go
index 48fbf4d..94be17c 100644
--- a/cc/ndk_library.go
+++ b/cc/ndk_library.go
@@ -139,16 +139,7 @@
 }
 
 func generateStubApiVariants(mctx android.BottomUpMutatorContext, c *stubDecorator) {
-	// TODO(danalbert): Use PlatformSdkVersion when possible.
-	// This is an interesting case because for the moment we actually need 24
-	// even though the latest released version in aosp is 23. prebuilts/ndk/r11
-	// has android-24 versions of libraries, and as platform libraries get
-	// migrated the libraries in prebuilts will need to depend on them.
-	//
-	// Once everything is all moved over to the new stuff (when there isn't a
-	// prebuilts/ndk any more) then this should be fixable, but for now I think
-	// it needs to remain as-is.
-	maxVersion := 24
+	maxVersion := mctx.AConfig().PlatformSdkVersionInt()
 
 	firstVersion, err := normalizeNdkApiLevel(c.properties.First_version,
 		mctx.Arch())
