Glide 4.10.0: java.lang.IllegalStateException: GeneratedAppGlideModuleImpl实现不正确。

20

在使用 Glide 4.10.0 时,我遇到了错误。

这是错误信息:

java.lang.IllegalStateException: GeneratedAppGlideModuleImpl is implemented incorrectly. If you've manually implemented this class, remove your implementation. The Annotation processor will generate a correct implementation.


你解决了吗? - Juvi
不,还没有。如果您找不到解决方案,请尝试下面的答案。 - Mohd Naushad
在我的情况下,这是由于google-map-v3-beta sdk引起的。当我降级回V2时它就可以工作了。 - Juvi
6个回答

19

第一件事:

您是否更改了annotationProcessor依赖项:

implementation 'com.github.bumptech.glide:glide:4.10.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'

另外,实现和annotationProcessor版本号相同非常重要。Gradle会自动更新第一个版本号但不会更新第二个。

第二件事:

你是否按照以下方式添加了proguard规则:

-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
  **[] $VALUES;
  public *;
}

希望这能对您有所帮助。谢谢。


我使用的是Glide 4.11.0版本,遇到了类似的问题。正如@PratikButani所回答的那样,请确保实现和注释处理器版本号相同。 - Yazid
1
为了优秀的回答,奖励一小笔赏金。 - Fattie
非常感谢你:) :) @Fattie,你让我的一天变得美好,并且我达到了50,000声望。 - Pratik Butani
1
不幸的是,它们将它限制在500个!!!!!!!!!!!!!!!!!这里加1000000!!!谢谢! - Fattie

6
在我的情况下,当我试图在我的应用程序中显示Google地图时,出现了这个错误。具体来说,是google-map-v3-beta SDK。

看起来SDK包含一个混淆版本的Glide,当应用程序也使用Glide并且最终的AndroidManifest.xml包含一个名为“GlideModule”的元数据元素时,它就会出现问题。

在Google跟踪器中有一个相关的问题:https://issuetracker.google.com/issues/132323222 对我来说解决方案是切换回地图v2。

1
我也遇到了同样的事情! - Daniel Gomez Rico
2
已经过去了2年,问题仍然存在。 - ZhouX

5

我遇到了与我的应用程序类似的问题。我把Glide库从4.9.0升级到了4.11.0。

升级前:

implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation ('com.github.bumptech.glide:okhttp3-integration:4.9.0'){
    exclude group: 'glide-parent'
}

After:

implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation ('com.github.bumptech.glide:okhttp3-integration:4.11.0'){
    exclude group: 'glide-parent'
}

问题得到解决。


1

我也遇到了这个bug。可能是因为你使用的库使用了另一个Glide版本,所以你应该使用与你的库使用的Glide版本相同的版本。


0

0

你只需要在Glide的实现中使用相同版本的编译器 implementation 'com.github.bumptech.glide:glide:4.11.0' kapt 'com.github.bumptech.glide:compiler:4.11.0'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接