因上下文4.3.1而滑行崩溃

Sat*_*tar 8 android android-glide

在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)"
Run Code Online (Sandbox Code Playgroud)

这是我试过的代码:

Glide.with(getApplicationContext()).
            load(url)
            .into(imageView);
Run Code Online (Sandbox Code Playgroud)

   Glide.with(getContext()).
            load(url)
            .into(imageView);
Run Code Online (Sandbox Code Playgroud)

它给了我那个警告

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
Run Code Online (Sandbox Code Playgroud)

和gradle中的lib代码

compile 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
Run Code Online (Sandbox Code Playgroud)

Update1:​​Waring Solved By添加扩展AppGlideModule的类

import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;

@GlideModule
public final class MyAppGlideModule extends AppGlideModule {}
Run Code Online (Sandbox Code Playgroud)

但同样的错误仍然存​​在

小智 6

请在您的AppGlideModule类上添加以下方法

@Override
public boolean isManifestParsingEnabled() {
  return false;
}
Run Code Online (Sandbox Code Playgroud)

为了保持与Glide v3的GlideModules的向后兼容性,Glide仍会从应用程序和任何包含的库中解析AndroidManifest.xml文件,并将包含清单中列出的所有旧版GlideModules。尽管此功能将在将来的版本中删除,但我们暂时保留了该行为以简化过渡。如果您已经迁移到Glide v4 AppGlideModule和LibraryGlideModule,则可以完全禁用清单解析。这样做可以缩短Glide的初始启动时间,并避免尝试解析元数据时出现的潜在问题。若要禁用清单分析,请重写AppGlideModule实现中的isManifestParsingEnabled()方法。

检查:http : //bumptech.github.io/glide/doc/configuration.html