Local Module Descriptor Class For Com.google.android.gms.google Certificates Not Found | 2025 |

In the complex ecosystem of Android development, few errors are as cryptic and frustrating as the one involving a missing "local module descriptor class" for Google Play services. If you've ever seen the full stack trace containing the phrase , you know it can bring your development or build process to a screeching halt.

By far the most frequent cause. During release builds, R8 or ProGuard removes "unused" code to minimize APK size. Google Play services rely on reflection to load module descriptor classes. If the obfuscator doesn’t recognize these classes as entry points, it strips them out.

-keepattributes Annotation -keepattributes Signature -keepattributes RuntimeVisibleAnnotations

it means the runtime attempted to locate a local (bundled) version of a specific module ( google certificates related) but failed. It then tries to load the version from the Google Play Services APK.

If you are using R8 (default for Android Gradle Plugin 3.4.0+), you may also need to disable optimization for certain Google classes. Add this to your build.gradle :