在Glide 4.3的新版本中,我尝试使用它,但每当我使用它时,它都会崩溃,无论我传递给它的上下文。
这是向我显示的错误
java.lang.AbstractMethodError: abstract method "void com.bumptech.glide.module.RegistersComponents.registerComponents(android.content.Context, com.bumptech.glide.Glide, com.bumptech.glide.Registry)"
这是我尝试的代码:
Glide.with(getApplicationContext()).
load(url)
.into(imageView);
和
Glide.with(getContext()).
load(url)
.into(imageView);
它给了我那个警告
W/Glide: Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored
和gradle中的lib代码
compile 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
Update1: Waring Solved通过添加扩展AppGlideModule的类
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public final class MyAppGlideModule extends AppGlideModule {}
但仍然存在同样的错误
答案 0 :(得分:3)
请在AppGlideModule类上添加以下方法
@Override
public boolean isManifestParsingEnabled() {
return false;
}
为了保持与Glide v3的GlideModules的向后兼容性,Glide仍会从应用程序和任何包含的库中解析AndroidManifest.xml文件,并将包含清单中列出的任何旧版GlideModule。虽然此功能将在未来版本中删除,但我们暂时保留了此行为以简化过渡。 如果您已经迁移到Glide v4 AppGlideModule和LibraryGlideModule,则可以完全禁用清单解析。这样做可以改善Glide的初始启动时间,并避免尝试解析元数据时的一些潜在问题。要禁用清单解析,请覆盖AppGlideModule实现中的isManifestParsingEnabled()方法
答案 1 :(得分:0)
对于那些像我一样来到这里并且花了两天时间弄清楚AppGlideModule在哪里的人,我为那些你必须在你的应用程序中创建一个类的人编写它并命名为“MyAppGlideModule”然后你应该把这个代码放入那个班级
package com.arash;
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public final class MyAppGlideModule extends AppGlideModule {
@Override
public boolean isManifestParsingEnabled() {
return false;
}
}
就是这样。