【问题标题】:Android Glide "Cannot Resolve Method 'with' in GlideApp"Android Glide“无法在 GlideApp 中解决方法‘with’”
【发布时间】:2021-05-07 09:03:50
【问题描述】:

我已经阅读了很多关于此的其他帖子,并且我已经阅读了关于 Bumptech 的解释。但是我仍然没有点击。我有以下代码:

if (image != null) {
            GlideApp
                    .with(this)
                    .load(imageUrl)
                    .centerCrop()
                    .transition(withCrossFade())
                    .into(eventImageView);
        }

返回上述错误:Cannot Resolve Method 'with' in 'GlideApp'。

我按照这个问题的第一个答案:

Glide showing error: Failed to find GeneratedAppGlideModule

...但它似乎并没有改变任何东西:

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

@GlideModule
public class GlideApp extends AppGlideModule {

}

最后是我的应用 build.gradle:

implementation ("com.github.bumptech.glide:glide:4.11.0") {
        exclude group: "com.android.support"
    }
    annotationProcessor 'androidx.annotation:annotation:1.1.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
    implementation ("com.github.bumptech.glide:glide:4.11.0@aar") {
        transitive = true
    }

不明白为什么 Glide 突然变得这么复杂……

【问题讨论】:

    标签: android android-glide


    【解决方案1】:

    根据最新的instructions,您实际上不需要从问题中的链接中做任何事情。您只需照常使用“Glide”,而不必使用“GLideApp”。

    repositories {
      google()
      jcenter()
    }
    
    dependencies {
      implementation 'com.github.bumptech.glide:glide:4.12.0'
      annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
    }
    

    您似乎也不需要设置自定义类或类似的东西。

    所以我恢复到我的旧代码:

    Glide
                    .with(this)
                    .load(imageUrl)
                    .centerCrop()
                    .transition(withCrossFade())
                    .into(eventImageView);
        }
    

    【讨论】:

      【解决方案2】:

      图像视图是否在片段内?如果是,则将其更改为 Glide.with(getContext()).load(imageUrl).centerCrop().transition(withCrossFade()).into(eventImageView);

      【讨论】:

      • 我仍然收到:“无法在 GlideApp 中解析方法“with””如果我回到“Glide”而不是“GlideApp”......它工作正常。也许这是我从 gradle 中遗漏的东西?
      • 也不...它不在片段内。
      • 好吧,我没注意到你在用 GlideApp,把它改成 Glide 就可以了
      【解决方案3】:

      尝试将其添加到您的 build.gradle:

          annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
      

      【讨论】:

        【解决方案4】:

        我发现当我遇到这个错误时,99% 的情况是在其他地方构建失败,所以没有生成 GlideApp。但Android studio 并不总是报原始错误。这可能非常令人沮丧。

        帮助我找出问题的原因是代码检查(分析->检查代码),然后修复所有其他错误。还可以使用--stacktrace 和--scan

        使缓存/重新启动无效会有所帮助,尤其是在进行一些更改之后。

        如果您使用 Room,请特别注意 Daos。 Android studio 不会报一些错误。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-07-03
          • 2018-07-17
          • 1970-01-01
          • 1970-01-01
          • 2018-08-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多