使用Glide-appPackage1.GlideRequests的Android应用程序和库不能强制转换为appPackage2.GlideRequests

使用Glide-appPackage1.GlideRequests的Android应用程序和库不能强制转换为appPackage2.GlideRequests,android,android-library,android-glide,android-module,Android,Android Library,Android Glide,Android Module,我希望以前有人遇到过这种情况,我错过的只是一个简单的环境。基本上,我已经构建了一个使用Glide的Kotlin库,并使用dagger在该库中设置了我的Glide实例。这个库本身,在一个虚拟应用程序中工作完美,没有问题 我有一个旧的Java项目,我正在使用这个库进行测试。除了我用滑翔功能点击屏幕外,一切似乎都正常。Glide在应用程序和库中都被使用,它们似乎在冲突 这是错误: java.lang.ClassCastException: appPackage1.Utilities.GlideRequ

我希望以前有人遇到过这种情况,我错过的只是一个简单的环境。基本上,我已经构建了一个使用Glide的Kotlin库,并使用dagger在该库中设置了我的Glide实例。这个库本身,在一个虚拟应用程序中工作完美,没有问题

我有一个旧的Java项目,我正在使用这个库进行测试。除了我用滑翔功能点击屏幕外,一切似乎都正常。Glide在应用程序和库中都被使用,它们似乎在冲突

这是错误:

java.lang.ClassCastException: appPackage1.Utilities.GlideRequests cannot be cast to appPackage2.di.module.GlideRequests
        at appPackage2.di.module.GlideApp.with(GlideApp.java:88)
@GlideModule
public final class MyAppGlideModule extends AppGlideModule {}
@GlideModule
class AppGlideModule : AppGlideModule()
在旧Java应用程序中,Glide的存在形式为:

java.lang.ClassCastException: appPackage1.Utilities.GlideRequests cannot be cast to appPackage2.di.module.GlideRequests
        at appPackage2.di.module.GlideApp.with(GlideApp.java:88)
@GlideModule
public final class MyAppGlideModule extends AppGlideModule {}
@GlideModule
class AppGlideModule : AppGlideModule()
在我的Kotlin库中,滑动存在为:

java.lang.ClassCastException: appPackage1.Utilities.GlideRequests cannot be cast to appPackage2.di.module.GlideRequests
        at appPackage2.di.module.GlideApp.with(GlideApp.java:88)
@GlideModule
public final class MyAppGlideModule extends AppGlideModule {}
@GlideModule
class AppGlideModule : AppGlideModule()
当从我的库中调用它时,它会抛出错误,如下所示:

GlideApp.with(requireContext()).load

看起来我需要更深入地研究一下文档

避免在库中使用AppGlideModule

库不能包含AppGlideModule实现。这样做 将阻止依赖库的任何应用程序管理 它们的依赖项或配置选项,如Glide的缓存大小和 地点

此外,如果两个库包含AppGlide模块,则应用程序 如果两者都依赖,则将无法编译,并将被迫编译 挑一个或另一个

这意味着库将无法使用Glide生成的 API,但使用RequestOptions加载仍然可以正常工作(请参阅 选项页(用于示例)

还有一个相关的Github问题:

希望如果其他人遇到这种情况,这个答案会有所帮助