建房警告

Room build warning

我在项目(版本 1.0.0)中有 Android Room Persistence 库并将编译选项设置为 1.8。当项目构建完成时,我收到此警告:

Warning:Supported source version 'RELEASE_7' from annotation processor 'android.arch.persistence.room.RoomProcessor' less than -source '1.8'

一切正常,但这个警告让我很烦。如何删除它?

添加此依赖项不会删除警告,而且我不使用其他架构组件。

"android.arch.lifecycle:common-java8:1.0.0"

Everything works fine, but this warning annoys me. How to remove it?

好吧,您需要临时禁用 lint 检查(不推荐),方法是将这些行添加到 build.gradle:-

android {
    lintOptions {
        tasks.lint.enabled = false
    }
...
}

添加 "android.arch.lifecycle:common-java8:1.0.0" 将删除 lifecycle 的警告,而不是 room

顺便说一下,这只是一个警告,不是错误。忽略它,直到 Google 决定像在生命周期库中那样支持 Java 8。

(注意:此答案与使用 'kotlin-kapt' 插件(kotlin 注释处理器插件)的基于 Kotlin 的 gradle 项目相关,但对基于 Java 的项目也应该有用.)

此警告似乎已在最新版本的 Room 库中修复。

我替换了:

kapt "android.arch.persistence.room:compiler:1.0.0"

kapt "android.arch.persistence.room:compiler:1.1.0-alpha1"

警告消失了。

顺便说一句,对于 Kotlin 项目,警告消息因 Kotlin 版本而异。

Kotlin 1.1.0 是:

warning: Supported source version 'RELEASE_7' from annotation processor 'android.arch.persistence.room.RoomProcessor' less than -source '1.8'

但对于 Kotlin 1.2.21,它是:

warning: Supported source version 'RELEASE_7' from annotation processor 'org.jetbrains.kotlin.kapt3.ProcessorWrapper' less than -source '1.8'

两种情况下的修复都是一样的。

我有同样的问题,但我通过

解决了它

替换

annotationProcessor 'android.arch.persistence.room:compiler:1.0.0'

annotationProcessor 'android.arch.persistence.room:compiler:1.0.0'

将房间版本从 1.0.0 更新到 1.1.0 以消除警告。

因此只需具有以下依赖项。

dependencies {
    def room_version = "1.1.0"

    implementation "androidx.room:room-runtime:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version"
} 

替换为:

"android.arch.persistence.room:compiler:1.0.0"

"android.arch.persistence.room:compiler:1.1.1"