Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
警告:警告:支持的源版本';发布7';来自注释处理器';android.arch.lifecycle.LifecycleProcessor';小于-source';1.8';_Android_Android Studio_Kotlin_Android Architecture Components - Fatal编程技术网

警告:警告:支持的源版本';发布7';来自注释处理器';android.arch.lifecycle.LifecycleProcessor';小于-source';1.8';

警告:警告:支持的源版本';发布7';来自注释处理器';android.arch.lifecycle.LifecycleProcessor';小于-source';1.8';,android,android-studio,kotlin,android-architecture-components,Android,Android Studio,Kotlin,Android Architecture Components,试图使用Android Studio 3 Canary 5和架构组件构建一个示例,Kotlin给出了这个警告 谁能告诉我原因吗 谢谢,亲爱的 编辑#1: 这是Dan Lew不久前制作的样品 build.gradle: apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' android { compileSdkVersion 25 b

试图使用Android Studio 3 Canary 5和架构组件构建一个示例,Kotlin给出了这个警告

谁能告诉我原因吗

谢谢,亲爱的

编辑#1: 这是Dan Lew不久前制作的样品

build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 25
    buildToolsVersion rootProject.ext.buildToolsVersion
    defaultConfig {
        applicationId "net.danlew.counter"
        minSdkVersion 23
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    compile "com.android.support:recyclerview-v7:${rootProject.ext.supportLibVersion}"
    compile "com.android.support:design:${rootProject.ext.supportLibVersion}"
    compile "com.android.support:cardview-v7:${rootProject.ext.supportLibVersion}"
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'

    compile "android.arch.lifecycle:extensions:${rootProject.archLifecycleVersion}"
    compile "android.arch.persistence.room:runtime:${rootProject.archRoomVersion}"
    compile "android.arch.persistence.room:rxjava2:${rootProject.archRoomVersion}"
    kapt "android.arch.lifecycle:compiler:${rootProject.archLifecycleVersion}"
    kapt "android.arch.persistence.room:compiler:${rootProject.archRoomVersion}"
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

    String butterKnifeVersion = '8.5.1'
    compile "com.jakewharton:butterknife:$butterKnifeVersion"
    kapt "com.jakewharton:butterknife-compiler:$butterKnifeVersion"

    compile 'io.reactivex.rxjava2:rxjava:2.1.0'

    String daggerVersion = '2.10'
    compile "com.google.dagger:dagger:$daggerVersion"
    kapt "com.google.dagger:dagger-compiler:$daggerVersion"

    String rxBindingVersion = '2.0.0'
    compile "com.jakewharton.rxbinding2:rxbinding:$rxBindingVersion"
    compile "com.jakewharton.rxbinding2:rxbinding-kotlin:$rxBindingVersion"

    compile 'com.jakewharton.timber:timber:4.5.1'

    compile 'com.jakewharton.rxrelay2:rxrelay:2.0.0'
}

repositories {
    mavenCentral()
}

只是添加这个答案以供将来参考:不久前Android Arch组件团队也提出了同样的问题,目前的问题是:

(……)这只是一个警告。这应该不是问题

这适用于问题标题中所述格式的警告,包括:

w:警告:批注处理器“android.arch.lifecycle.LifecycleProcessor”的受支持源版本“RELEASE_7”小于-源代码“1.8” w:

w:警告:注释处理器“android.arch.persistence.room.RoomProcessor”的受支持源版本“RELEASE_7”小于-源代码“1.8” w:

基本上,它是
javac
通知您,这些注释处理器是针对不同(较旧)版本的Java(Java 7)编译的,并为其生成代码,而不是将模块的源代码级别设置为(Java 8)。这是因为编译器无法保证处理器仍能正确运行[但开发人员在这种特殊情况下能够而且确实做到了]


请注意,如果您删除
-Xlint
编译器标志,则仍会发出警告,因为没有使用
-nowarn
,因此很遗憾,它无法被抑制。

有一个Java 8注释处理器,现在arch组件稳定,请更换:

"android.arch.lifecycle:compiler:${rootProject.archLifecycleVersion}"


请发布您的
build.gradle
文件您是否尝试将Kotlin设置面板中的Kotlin
目标JVM版本设置为1.8?在Kotlin设置中设置
目标JVM版本对此警告没有影响。您是否能够解决此问题?有同样的问题!还没有下定决心再试一次。。。您使用的是哪个版本?金丝雀7号?@CoolMind:这个问题已经在这个答案的第一句话中联系到了(见“官方答案”);)@rekire房间使用哪个字符串?房间使用
实现'android.arch.persistence.room:runtime:1.0.0'
android.arch.lifecycle:common:1.0.0
有点烦人,因为
支持:appcompat-v7
依赖于它,这意味着它无论如何都会被引入。
"android.arch.lifecycle:common-java8:1.0.0"