首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >警告:'variant.getJavaCompile()‘接口已过时,已替换为'variant.getJavaCompileProvider()’

警告:'variant.getJavaCompile()‘接口已过时,已替换为'variant.getJavaCompileProvider()’
EN

Stack Overflow用户
提问于 2018-09-24 04:36:33
回答 27查看 142.5K关注 0票数 201

突然,当同步Gradle时,我得到了这个错误:

警告:'variant.getJavaCompile()‘接口已过时,已替换为'variant.getJavaCompileProvider()’。它将在2019年底被移除。有关更多信息,请参阅https://d.android.com/r/tools/task-configuration-avoidance影响的模块:应用程序

我有一个app模块的build.gradle

代码语言:javascript
复制
apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'

apply plugin: 'io.fabric'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.2"
    defaultConfig {
        applicationId "..."
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "..."
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        versionNameSuffix = version_suffix

        [...]
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

            [...]
        }
        debug {
            [...]
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.61"
    implementation 'androidx.appcompat:appcompat:1.0.0-rc02'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation "com.android.support:preference-v7:28.0.0"
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
    implementation 'com.google.android.material:material:1.0.0-rc02'

    [...]
}

我可以正确地编译这个应用程序,但它有点麻烦,在我看来,一些东西将在2019年底停止工作。有什么想法和如何解决它吗?

EN

回答 27

Stack Overflow用户

回答已采纳

发布于 2019-04-16 16:32:12

此问题现已通过更新Fabric Gradle版本1.30.0修复:

更新版本: 2019年3月19日

请查看此链接:https://docs.fabric.io/android/changelog.html#march-15-2019

请在项目级Gradle中更新您的类路径依赖关系:

代码语言:javascript
复制
buildscript {
    // ... repositories, etc. ...

    dependencies {
        // ...other dependencies ...
        classpath 'io.fabric.tools:gradle:1.30.0'
    }
}
票数 83
EN

Stack Overflow用户

发布于 2019-01-16 17:30:59

我在更新到3.3.0后遇到了这个问题

如果你没有执行gradle文件中的错误状态,那么是一些插件仍然没有更新到较新的API,导致了这一问题。要找出它是哪个插件,请执行以下操作(如"Better debug info when using obsolete API" of 3.3.0 announcement中所述):

'android.debug.obsoleteApi=true'添加到您的gradle.properties文件中,该文件将记录错误,并显示更多详细信息,然后重试并读取日志详细信息。会有一个“有问题的”插件的痕迹,当你确定,尝试禁用它,看看是否问题已经消失,只是为了确保

  • 到github页面的插件和创建问题,其中将包含详细的日志和清晰的描述,所以你帮助开发人员修复它为每个人更快

  • 耐心,当他们修复它,或你修复它并创建PR为devs

希望它能帮助其他人

票数 98
EN

Stack Overflow用户

发布于 2019-06-30 17:30:53

所以我不得不把它改成:

代码语言:javascript
复制
com.google.gms:google-services:4.2.0

我通过运行以下命令找到了这一点:

代码语言:javascript
复制
gradlew sync -Pandroid.debug.obsoleteApi=true

在终端中。在Android Studio中进入查看->工具窗口->终端。

票数 62
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52470044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档