Android Studio 3.x:错误:找不到symbol类应用程序

Android Studio 3.x:错误:找不到symbol类应用程序,android,android-studio,android-glide,Android,Android Studio,Android Glide,上周末我把Android Studio从2.x升级到了3.x。项目迁移是完美的,构建是伟大的。现在,从2小时开始,我无法解释为什么,我无法构建,我现在在Glide上出现了这个错误: 错误:(26,22)错误:找不到符号类 以前一切都很好,我没有改变任何东西(渐变或配置),现在出现了这个错误 有关Glide的信息,请参见我的Gradle: annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0-RC1' compile 'com.

上周末我把Android Studio从2.x升级到了3.x。项目迁移是完美的,构建是伟大的。现在,从2小时开始,我无法解释为什么,我无法构建,我现在在Glide上出现了这个错误:

错误:(26,22)错误:找不到符号类

以前一切都很好,我没有改变任何东西(渐变或配置),现在出现了这个错误

有关Glide的信息,请参见我的Gradle:

annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0-RC1'
compile 'com.github.bumptech.glide:glide:4.0.0-RC1'
compile 'com.github.bumptech.glide:okhttp3-integration:4.0.0-RC1'
GlideApp文件是自动生成的(我选中了它)


所以,这是一个疯狂的情况。非常感谢大家

其中一些情况往往会不时弹出(例如,具有生成的类
R
的实例,在该实例中,该类最终不会生成)。我过去解决这个问题最简单的方法就是清理项目并重建它。如果不起作用,请按顶部菜单中的
文件
,然后按“使缓存无效并重新启动”。将出现第二个弹出窗口,按“使缓存无效并重新启动”。Android Studio需要重新索引和重建项目,这可能需要一段时间,但它解决了我遇到的大多数问题。

Glide 4.x引入了一些突破性的更改。请务必遵循中的说明。
不要忽略
proguard.cfg
中的更改。更改后,重建项目,您应该能够访问
GlideApp

当子包使用GlideApp时,我发现这个问题,AppGlideModule在包层次结构中的一级类中进行扩展

我怀疑编译器试图在生成glipapp之前编译子包类


我的解决方案是在一个单独的模块中扩展AppGlideModule,然后将其作为依赖项添加到使用GlideApp的所有模块中。

同样的情况也发生在我身上,这是我遇到的最奇怪的错误之一, 我在我的项目中使用了Butterknife,我发现如果在私有模式下定义视图,就会出现这个错误

使用:

而不是

@BindView(R.id.tv_option_one)
private TextView tv_option_one;
@BindView(R.id.tv_option_two)
private TextView tv_option_two;

当您使用bindView或onClick注释时,Butterknife找不到视图时,通常会发生这种情况,最糟糕的是,除了应该出现错误的地方之外,它到处都会显示错误。

迁移到AndroidX时,我遇到了同样的问题。我最终通过向添加/更新依赖项来解决它

implementation 'com.github.bumptech.glide:glide:4.8.0-SNAPSHOT'
kapt 'com.github.bumptech.glide:compiler:4.8.0-SNAPSHOT'
kapt 'androidx.annotation:annotation:1.0.0-rc01'

在我的例子中,我忘记应用kapt插件,所以我只是将它添加到我的模块级
build.gradle

apply plugin: 'kotlin-kapt'

您可以找到有关它的更多详细信息-

像这样添加这些依赖项

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

如果您使用的是DI,您可以尝试注释掉GlideApp的错误代码,然后重新生成。IDE应该告诉您错误的真正位置。

我找到了这个问题的解决方案

生成->清理项目(重建项目后)

之后,您将能够在项目中导入GlideApp

供参考

当代码中出现另一个错误时,也会发生这种情况。Gradle无法生成Glide类,因为在它之前抛出了另一个错误

对于我来说,问题是存在不同的导入错误(这是一个“有效”错误,我确实删除了引用的方法)

但因为我收到了20条消息,在构建应用程序时找不到这些消息,所以我甚至没有注意到有这样的错误



在纠正错误并重建项目后,一切都恢复正常。

有时发生此错误是因为您在dagger 2中做错了什么。查看错误的底部,检查是否存在dagger 2错误,如果存在,请先修复它,然后重试。@Soonsanto你是一个救生员。忽略第一条错误消息下面的所有内容,为此浪费了5个小时。原来我在dagger中缺少了一个bean。对于那些使用AndroidX尝试此方法的人,我必须在模块gradle文件中包括
annotationProcessor'AndroidX.annotation:annotation:1.0.1'
,以及Glide依赖项,以使其工作。工作非常出色。就是这个
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'