bumptech/glide · error · IllegalStateException
Attempting to register a Glide v3 module. If you see this, y
Error message
Attempting to register a Glide v3 module. If you see this, you or one of your dependencies may be including Glide v3 even though you're using Glide v4. You'll need to find and remove (or update) the offending dependency. The v3 module name is: {module.getClass().getName()} What it means
During Registry initialization, Glide iterates over all manifest-declared GlideModules and calls registerComponents on each. If a module was compiled against the Glide v3 API, its registerComponents method has a different signature, causing an AbstractMethodError at call time. Glide catches this and wraps it in an IllegalStateException naming the offending module class so you can identify which dependency is shipping v3 code.
Source
Thrown at library/src/main/java/com/bumptech/glide/RegistryFactory.java:437
registry.append(ByteBuffer.class, Bitmap.class, byteBufferVideoDecoder);
registry.append(
ByteBuffer.class,
BitmapDrawable.class,
new BitmapDrawableDecoder<>(resources, byteBufferVideoDecoder));
}
}
private static void initializeModules(
Context context,
Glide glide,
Registry registry,
List<GlideModule> manifestModules,
@Nullable AppGlideModule annotationGeneratedModule) {
for (GlideModule module : manifestModules) {
try {
module.registerComponents(context, glide, registry);
} catch (AbstractMethodError e) {
throw new IllegalStateException(
"Attempting to register a Glide v3 module. If you see this, you or one of your"
+ " dependencies may be including Glide v3 even though you're using Glide v4."
+ " You'll need to find and remove (or update) the offending dependency."
+ " The v3 module name is: "
+ module.getClass().getName(),
e);
}
}
if (annotationGeneratedModule != null) {
annotationGeneratedModule.registerComponents(context, glide, registry);
}
}
}
View on GitHub (pinned to eb14a895d8)
Solutions
- Run ./gradlew :app:dependencies and search the tree for any com.github.bumptech.glide:glide:3.x artifact
- Exclude the v3 transitive dependency: implementation('com.some:sdk:1.0') { exclude group: 'com.github.bumptech.glide' }
- Force-resolve to v4: configurations.all { resolutionStrategy { force 'com.github.bumptech.glide:glide:4.x.x' } }
- If the offending module is your own code, update it to the v4 API (AppGlideModule/LibraryGlideModule) and remove the old GlideModule implementation
Example fix
// before — v3 module detected via transitive dep
// after — exclude v3 from the offending dependency
dependencies {
implementation('com.some:sdk:1.0') {
exclude group: 'com.github.bumptech.glide'
}
implementation 'com.github.bumptech.glide:glide:4.16.0'
} Defensive patterns
Strategy: fallback
Validate before calling
// In build.gradle, proactively detect and exclude Glide v3
dependencies {
configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.github.bumptech.glide'
&& details.requested.name == 'glide'
&& !details.requested.version.startsWith('4')) {
throw new GradleException("Glide v3 detected: ${details.requested}" )
}
}
}
} Prevention
- Run ./gradlew dependencies and search for glide:3.x after adding new dependencies
- Add a resolutionStrategy.force for Glide v4 in all modules
- Exclude com.github.bumptech.glide from third-party SDKs that might bundle their own copy
When it happens
Trigger: A transitive dependency includes com.github.bumptech.glide:glide:3.x along with your app's Glide v4 dependency. The v3 GlideModule class passes the manifest-module instanceof check but throws AbstractMethodError when v4 calls its registerComponents method because the v3 method signature differs.
Common situations: Adding a third-party SDK that bundles Glide v3 as a transitive dependency. Upgrading an app from Glide v3 to v4 without excluding the old v3 artifact from all modules. Mixing stable Glide v4 with an older library pinned to v3.
Related errors
- Constructor for {} accepts too many parameters, it should ac
- Unrecognized type: {}
- You cannot have more than one AppGlideModule, found: {}
- Cannot process annotations after writing AppGlideModule
- RequestOptionsExtensions must be public, including: {}
AI-assisted analysis of bumptech/glide@eb14a895d8 (2026-08-14).
Data as JSON: /api/errors/759fc8a9c983b093.
Report an issue: GitHub.