diff --git a/staticlibs/native/netjniutils/netjniutils.cpp b/staticlibs/native/netjniutils/netjniutils.cpp
index 8ed72b0..210c6c3 100644
--- a/staticlibs/native/netjniutils/netjniutils.cpp
+++ b/staticlibs/native/netjniutils/netjniutils.cpp
@@ -74,19 +74,19 @@
   // Since Android S, there is an NDK API to get a file descriptor present in libnativehelper.so.
   // libnativehelper is loaded into all processes by the zygote since the zygote uses it
   // to load the Android Runtime and is also a public library (because of the NDK API).
-  typedef int (*ndkGetFD_t)(JNIEnv*, jobject);
-  static const ndkGetFD_t ndkGetFD = []() -> ndkGetFD_t {
+  typedef int (*ndkGetFd_t)(JNIEnv*, jobject);
+  static const ndkGetFd_t ndkGetFd = []() -> ndkGetFd_t {
     void* handle = dlopen("libnativehelper.so", RTLD_NOLOAD | RTLD_NODELETE);
-    auto ndkGetFD = reinterpret_cast<ndkGetFD_t>(dlsym(handle, "AFileDescriptor_getFD"));
-    if (ndkGetFD == nullptr) {
+    auto ndkGetFd = reinterpret_cast<ndkGetFd_t>(dlsym(handle, "AFileDescriptor_getFd"));
+    if (ndkGetFd == nullptr) {
       __android_log_print(ANDROID_LOG_FATAL, LOG_TAG,
-                          "Failed to dlsym(AFileDescriptor_getFD): %s", dlerror());
+                          "Failed to dlsym(AFileDescriptor_getFd): %s", dlerror());
       dlclose(handle);
     }
-    return ndkGetFD;
+    return ndkGetFd;
   }();
 
-  return javaFd != nullptr ? ndkGetFD(env, javaFd) : -1;
+  return javaFd != nullptr ? ndkGetFd(env, javaFd) : -1;
 }
 
 }  //  namespace
