找不到 GeneratedAppGlideModule 错误

Failed to find GeneratedAppGlideModule error

我正在使用 Glide 库加载图像 android 早些时候 Glide 很容易加载图像,但现在它显示错误,虽然图像 url 显示在 log cat 中但无法在图像视图中加载.

显示以下错误:

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

build.gradle

apply plugin: 'com.android.application'

repositories {
    mavenCentral()
    maven { url 'https://maven.google.com' }
}

android {
     compileSdkVersion 28
defaultConfig {
    applicationId "com.app.bookbudiapp"
    minSdkVersion 16
    targetSdkVersion 28
    multiDexEnabled true
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
  }
}

dependencies {

     implementation 'com.github.bumptech.glide:glide:4.8.0'
     annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
}  

apply plugin: 'com.google.gms.google-services'

MyGlideApp

@GlideModule
public class MyGlideApp extends AppGlideModule {}

HomeOfferAdapter.java

     public class HomeOfferAdapter extends PagerAdapter {

    private Context context;
    private LayoutInflater layoutInflater;
    private List<HomeOffersModel> banners;

    public HomeOfferAdapter(List<HomeOffersModel> banners,Context context){

                 this.banners = banners;
                 this.context = context;
    }

    @Override
    public int getCount() {
        return banners.size();
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
        return view == o;
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {

        layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        assert layoutInflater != null;
        View view = layoutInflater.inflate(R.layout.onboard_frag,container,false);

        ImageView slideImage = view.findViewById(R.id.offerImage);

        HomeOffersModel model = banners.get(position);

      //  RequestOptions options = new RequestOptions();
      //  options.placeholder(R.drawable.openbook);



            GlideApp.with(context).load(model.getOffers()).placeholder(R.drawable.openbook).into(slideImage);


        container.addView(view);

        return view;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((LinearLayout)object);
    }
}

重建项目后出错:

Caused by: java.lang.NullPointerException
at com.bumptech.glide.annotation.compiler.ProcessorUtil.findInstanceMethodsReturning(ProcessorUtil.java:474)
at com.bumptech.glide.annotation.compiler.RequestOptionsOverrideGenerator.generateInstanceMethodOverridesForRequestOptions(RequestOptionsOverrideGenerator.java:49)
at com.bumptech.glide.annotation.compiler.RequestOptionsOverrideGenerator.generateInstanceMethodOverridesForRequestOptions(RequestOptionsOverrideGenerator.java:41)
at com.bumptech.glide.annotation.compiler.RequestOptionsGenerator.generate(RequestOptionsGenerator.java:157)
at com.bumptech.glide.annotation.compiler.AppModuleProcessor.maybeWriteAppModule(AppModuleProcessor.java:87)
at com.bumptech.glide.annotation.compiler.GlideAnnotationProcessor.process(GlideAnnotationProcessor.java:131)
at org.gradle.api.internal.tasks.compile.processing.DelegatingProcessor.process(DelegatingProcessor.java:62)
at org.gradle.api.internal.tasks.compile.processing.AggregatingProcessor.process(AggregatingProcessor.java:50)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access00(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
... 69 more

有人请让我知道我做错了什么。任何帮助将不胜感激。

谢谢

尝试重建项目并使用 GlideApp 而不是 Glide,如下代码所示:

GlideApp.with(context).load(model.getOffers).apply(options).into(slideImage);

根据 Glide 在 GitHub 上的文档:

repositories {
  mavenCentral()
  google() // You were missing this
}

 dependencies {
  implementation 'com.github.bumptech.glide:glide:4.9.0' //bumped from 4.8.0 to 4.9.0
  annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
}

始终确保使用最新版本。这是由于您的项目级别 gradle 文件中缺少 google() 存储库造成的。