Android Studio build.gradle warning message

AndroidAndroid StudioAndroid Gradle-Plugin

Android Problem Overview


After i have successfully updated to Android Studio 3.1 Canary 9 i am getting warning message as

Warning:Configuration 'compile' is obsolete and has been replaced with 'implementation'.
It will be removed at the end of 2018

I know this warning will not cause any problem in my project at least for now. But i want to remove it totally so that there will be no problem in future at all. But after reviewing my build.gradle file i cannot find any line of code which has invoked this warning at all.

Here is my build.gradle file

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "app.project.virtualdiary"
        minSdkVersion 21
        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 {
    implementation 'com.google.firebase:firebase-auth:11.8.0'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    implementation 'com.android.support:support-v4:27.0.2'
    implementation 'com.android.support:support-vector-drawable:27.0.2'
}


apply plugin: 'com.google.gms.google-services'

Android Solutions


Solution 1 - Android

The problem lies in apply plugin: 'com.google.gms.google-services'

The Google Services plugin is adding a dependency on behalf of you. Hopefully they fix it in the future.

Solution 2 - Android

I have one same Warning caused to com.google.gms:google-services.

The solution is to upgrade classpath com.google.gms:google-services to classpath 'com.google.gms:google-services:3.2.0' in file in build.gradle Project:

enter image description here

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'

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

allprojects {
    repositories {
        jcenter()
        google()
    }
}

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

In Android Studio verion 3.1 dependencies complie word is replaced to implementation

dependencies with Warning in android studio 3.1

dependencies {
            compile fileTree(dir: 'libs', include: ['*.jar'])
            compile 'com.android.support:appcompat-v7:27.1.0'
            compile 'com.android.support.constraint:constraint-layout:1.0.2'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.android.support.test:runner:1.0.1'
            androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    }
    

dependencies OK in android studio 3.1

    dependencies {
            implementation fileTree(dir: 'libs', include: ['*.jar'])
            implementation 'com.android.support:appcompat-v7:27.1.0'
            implementation 'com.android.support.constraint:constraint-layout:1.0.2'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.android.support.test:runner:1.0.1'
            androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    
    }

Gradel generate by Android Studio 3.1 for new project.

Gradel generate by Android Studio 3.1 for new project.

Visit https://docs.gradle.org/current/userguide/dependency_management_for_java_projects.html

For details https://docs.gradle.org/current/userguide/declaring_dependencies.html

Good luck

Solution 3 - Android

I agree with Niklas. I changed the compile to implementation, but the warning was gone only after the change in the build.gradle(Project: .....)

before:

 dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath 'com.google.gms:google-services:3.0.0'
    }

after:

dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath 'com.google.gms:google-services:3.2.0'
    }

Solution 4 - Android

first select :

  1. Build
  2. Clean Project then Build
  3. make Project in Android studio

Solution 5 - Android

When AndroidManifest.xml package name was different from build.gradle package name i get this error

> Configuration 'compile' is obsolete and has been replaced with > 'implementation'. It will be removed at the end of 2018

Java compile error

Solution 6 - Android

Change the "compile" to "implementation". this problem will be fixed! it works on my computer.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser6308160View Question on Stackoverflow
Solution 1 - AndroidNiklasView Answer on Stackoverflow
Solution 2 - AndroidDidierView Answer on Stackoverflow
Solution 3 - AndroidSportAtomDroidView Answer on Stackoverflow
Solution 4 - Androidsoheil pakgoharView Answer on Stackoverflow
Solution 5 - AndroidethemsulanView Answer on Stackoverflow
Solution 6 - AndroidHui PangView Answer on Stackoverflow