我读了很多关于这个的帖子,我也读了Bumptech上的解释。但我还是觉得不太对劲。我有以下代码:
if (image != null) {
GlideApp
.with(this)
.load(imageUrl)
.centerCrop()
.transition(withCrossFade())
.into(eventImageView);
}
返回上面的错误:Cannot Resolve Method 'with' in 'GlideApp'.
我遵循这个问题的第一个答案:
滑动显示错误:Failed to find GeneratedAppGlideModule
…但这似乎并没有改变什么:
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public class GlideApp extends AppGlideModule {
}
最后my app 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突然变得如此复杂…
根据最新的说明,你实际上不需要做任何从问题中的链接的东西。你只需使用"滑翔"像往常一样,你不需要使用"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);
}
图像视图在片段内吗?如果是,则更改为Glide.with(getContext()).load(imageUrl).centerCrop().transition(withCrossFade()).into(eventImageView);
尝试将此添加到您的build.gradle:
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
我发现,当我遇到这个错误时,在99%的情况下,是在其他地方构建失败,所以没有生成GlideApp。但Android studio并不总是报告最初的错误。这是非常令人沮丧的。
帮助我找到问题来源的是代码检查(Analyze->Inspect code),然后修复所有其他错误。也可以用——stacktrace和——scan来gradlew
无效缓存/重启可以帮助,特别是在做了一些更改之后。
如果您正在使用Room,请特别注意Daos。Android studio将不会报告一些错误。