错误:“配置'编译'已经过时,已被'实现'替换。”,即使gradle中没有'compile'

问题描述 投票:10回答:7

我有以下gradle文件,我找不到任何仍然保证警告“配置'编译'已经过时并已被'实现'取代的东西。”

First Module Gradle文件:

   buildscript {
        repositories { maven { url 'https://maven.fabric.io/public' } }
        dependencies { classpath 'io.fabric.tools:gradle:1.24.1' }
    }
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-kapt'

def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))


android {
    compileSdkVersion 27
    defaultConfig {
        multiDexEnabled true
        applicationId "com.example.something"
        minSdkVersion 19
        targetSdkVersion 27
        testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
        vectorDrawables.useSupportLibrary = true
    }
    dataBinding { enabled = true }

    flavorDimensions "flavors"
    productFlavors {
        flavorBeta {
            minSdkVersion 19
            applicationId 'com.example.something'
            targetSdkVersion 27
            versionCode 1000012
            versionName "beta test"
            dimension "flavors"
        }
    }
    signingConfigs {
        config {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        debug {
        }
        release {
            minifyEnabled true
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
            debuggable false
        }
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
        transitive = true
    }
    // kotlin:
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation "org.jetbrains.anko:anko-common:$anko_version"
    implementation "org.jetbrains.anko:anko-commons:$anko_version"
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.21.2'

    // support libraries:    
    implementation "com.android.support:recyclerview-v7:$support_version"
    implementation "com.android.support:support-v4:$support_version"
    implementation "com.android.support:design:$support_version"
    implementation "com.android.support:appcompat-v7:$support_version"
    implementation "com.android.support:cardview-v7:$support_version"
    implementation "com.android.support:support-vector-drawable:$support_version"
    // misc:
    implementation 'com.github.d-max:spots-dialog:0.7@aar'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta4'
    implementation 'com.backendless:backendless:4.4.0'
    implementation 'io.nlopez.smartlocation:library:3.3.2'

    // Google services:
    implementation "com.google.firebase:firebase-core:$google_services_version"
    implementation "com.google.firebase:firebase-auth:$google_services_version"
    implementation 'com.firebaseui:firebase-ui-auth:3.1.3'
    implementation "com.google.android.gms:play-services-location:$google_services_version"
    implementation "com.google.android.gms:play-services-auth:$google_services_version"
}
apply plugin: 'com.google.gms.google-services'

///////////////////// AND ////////////////////

以下是项目级Gradle文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '1.2.21'
    ext.support_version = '27.0.2'
    ext.anko_version = '0.10.3'
    ext.android_plugin_version = '3.0.1'
    ext.google_services_version = '11.8.0'

    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0-beta1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.1.1'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

//////////////////////////

编辑:我在下面添加了完整的同步和构建日志:

Executing tasks: [:app:generateFlavorBetaDebugSources]

Configuration on demand is an incubating feature.
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation'.
It will be removed at the end of 2018
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'com.android.databinding:compiler:3.1.0-beta3'.
:app:preBuild UP-TO-DATE
:app:preFlavorBetaDebugBuild UP-TO-DATE
:app:compileFlavorBetaDebugAidl UP-TO-DATE
:app:compileFlavorBetaDebugRenderscript UP-TO-DATE
:app:checkFlavorBetaDebugManifest UP-TO-DATE
:app:generateFlavorBetaDebugBuildConfig UP-TO-DATE
:app:prepareLintJar UP-TO-DATE
:app:mainApkListPersistenceFlavorBetaDebug UP-TO-DATE
:app:mergeFlavorBetaDebugShaders UP-TO-DATE
:app:compileFlavorBetaDebugShaders UP-TO-DATE
:app:generateFlavorBetaDebugAssets UP-TO-DATE
:app:mergeFlavorBetaDebugAssets
:app:processFlavorBetaDebugGoogleServices
Parsing json file: C:\Users\some_path\app\google-services.json
:app:createFlavorBetaDebugCompatibleScreenManifests UP-TO-DATE
:app:processFlavorBetaDebugManifest UP-TO-DATE
:app:fabricGenerateResourcesFlavorBetaDebug
:app:generateFlavorBetaDebugResValues UP-TO-DATE
:app:generateFlavorBetaDebugResources UP-TO-DATE
:app:mergeFlavorBetaDebugResources
:app:splitsDiscoveryTaskFlavorBetaDebug UP-TO-DATE
:app:processFlavorBetaDebugResources
:app:generateFlavorBetaDebugSources

BUILD SUCCESSFUL in 19s
18 actionable tasks: 5 executed, 13 up-to-date

同步日志:

registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'com.android.databinding:compiler:3.1.0-beta3'.

CONFIGURE SUCCESSFUL in 22s
android android-studio gradle android-gradle gradle-plugin
7个回答
4
投票

问题在于应用插件:'com.google.gms.google-services'

Google服务插件代表您添加了依赖项。希望他们将来能够解决这个问题。

我从下面的stackoverflow链接复制答案。 https://stackoverflow.com/a/49059867/4782538。谢谢@Niklas的回答。


6
投票

我通过更改build.gradle中的类路径来解决(项目:您的项目名称)

from 
  classpath 'com.google.gms:google-services:3.1.1' 
to
  classpath 'com.google.gms:google-services:3.2.0'

1
投票

我认为(但我不确定)它是implementation "com.google.firebase:firebase-core:$google_services_version"线,它解析为11.8.0。我的怀疑来自于运行./gradlew app:dependencies

它的输出给出(除其他外):

compile - Compile dependencies for 'main' sources (deprecated: use 'implementation' instead).
\--- com.google.firebase:firebase-core:11.8.0
     \--- com.google.firebase:firebase-analytics:11.8.0
          +--- com.google.android.gms:play-services-basement:11.8.0
          |    +--- com.android.support:support-v4:25.2.0
          |    |    +--- com.android.support:support-compat:25.2.0
          |    |    |    \--- com.android.support:support-annotations:25.2.0
          |    |    +--- com.android.support:support-media-compat:25.2.0
          |    |    |    +--- com.android.support:support-annotations:25.2.0
          |    |    |    \--- com.android.support:support-compat:25.2.0 (*)
          |    |    +--- com.android.support:support-core-utils:25.2.0
          |    |    |    +--- com.android.support:support-annotations:25.2.0
          |    |    |    \--- com.android.support:support-compat:25.2.0 (*)
          |    |    +--- com.android.support:support-core-ui:25.2.0
          |    |    |    +--- com.android.support:support-annotations:25.2.0
          |    |    |    \--- com.android.support:support-compat:25.2.0 (*)
          |    |    \--- com.android.support:support-fragment:25.2.0
          |    |         +--- com.android.support:support-compat:25.2.0 (*)
          |    |         +--- com.android.support:support-media-compat:25.2.0 (*)
          |    |         +--- com.android.support:support-core-ui:25.2.0 (*)
          |    |         \--- com.android.support:support-core-utils:25.2.0 (*)
          |    \--- com.google.android.gms:play-services-basement-license:11.8.0
          +--- com.google.firebase:firebase-common:11.8.0
          |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
          |    +--- com.google.android.gms:play-services-tasks:11.8.0
          |    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
          |    |    \--- com.google.android.gms:play-services-tasks-license:11.8.0
          |    \--- com.google.firebase:firebase-common-license:11.8.0
          +--- com.google.firebase:firebase-analytics-impl:11.8.0
          |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
          |    +--- com.google.firebase:firebase-iid:11.8.0
          |    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
          |    |    +--- com.google.firebase:firebase-common:11.8.0 (*)
          |    |    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
          |    |    \--- com.google.firebase:firebase-iid-license:11.8.0
          |    +--- com.google.firebase:firebase-common:11.8.0 (*)
          |    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
          |    \--- com.google.firebase:firebase-analytics-impl-license:11.8.0
          \--- com.google.firebase:firebase-analytics-license:11.8.0

如果是这种情况,那么我们需要等待firebase-core库的更新。


1
投票

更新到classpath版本

classpath 'com.android.tools.build:gradle:3.1.1'
classpath 'com.google.gms:google-services:3.2.0'

1
投票

我也有这个问题,这就是我解决它的方法:

去你build.gradle(app level)

build.gradle module app

并将'compile'替换为'implementation'


1
投票

虽然我用'implementation'替换了所有'compile',但我遇到了同样的问题。但最后通过在build.gradle(Project)中进行以下更改来解决此问题。我已经替换了它

classpath 'com.google.gms:google-services:3.1.1'

用这条线

classpath 'com.google.gms:google-services:4.0.1'

在它之后,你的gradle可能再次提出警告添加firebase-core而不是在你的build.gradle(app)中添加这一行

dependencies{
implementation 'com.google.firebase:firebase-core:16.0.3'
} 

注意:请检查任何问题的更新依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.