添加Room编译器后找不到GlideApp

3
在将room组件添加到gradle配置文件后,编译项目出错,错误为“找不到符号类GlideApp”。如果注释掉“annotation processor "android.arch.persistence.room:compiler:$room_version"”,则项目可以无误地编译。有什么想法吗?
apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.otpuskarche.onleave"
        minSdkVersion 24
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    def room_version = "1.1.1"
    def archLifecycleVersion = '1.1.1'

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.volley:volley:1.1.0'
    implementation 'com.google.code.gson:gson:2.8.3'
    implementation 'com.android.support:support-v4:27.1.1'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.github.bumptech.glide:glide:4.7.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
    implementation 'com.android.support:gridlayout-v7:27.1.1'
    implementation 'com.google.android.gms:play-services-maps:15.0.1'

    // Room components
    implementation "android.arch.persistence.room:runtime:$room_version"
    annotationProcessor "android.arch.persistence.room:compiler:$room_version"
    androidTestImplementation "android.arch.persistence.room:testing:$room_version"

    // Lifecycle components
    implementation "android.arch.lifecycle:extensions:$archLifecycleVersion"
    annotationProcessor "android.arch.lifecycle:compiler:$archLifecycleVersion"

    testImplementation 'junit:junit:4.12'
}

1
删除以下程序相关内容中的 **,并在 **annotationProcessor 前后返回翻译文本。 - Manohar
抱歉,我一开始发布了错误的配置文件 **。问题出在其他地方 :( - Ivan Penkov
你添加了Glide模块吗? - Manohar
是的,我尝试过了,但是如果我移除注释处理器 "android.arch.persistence.room:compiler:$room_version",项目就可以正常构建!看起来是 Glide 和 Room 之间的冲突。 - Ivan Penkov
哪个版本? glide:4.7.1 room:1.1.1 - Ivan Penkov
显示剩余2条评论
3个回答

2
问题出在房间(Room)上。模式导出目录未设置。构建日志误导我,因为错误出现在日志底部。
参考真正的问题 - room-schema-export

1
创建一个类似于以下的调用:
@GlideModule
public final class GlideLoader extends AppGlideModule{


 }

构建项目后,您将通过GlideApp访问Glide。


0

你需要添加annotationProcessor依赖:

annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0-RC0'

你还需要添加一个AppGlideModule。有关详细信息,请参阅生成的API文档

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接