Android Studio build.gradle警告消息

时间:2018-01-26 13:45:05

标签: android android-studio android-gradle

我成功更新到Android Studio 3.1 Canary 9后,我收到警告消息

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

我知道这个警告至少在目前我的项目不会造成任何问题。但我想完全删除它,以便将来不会有任何问题。但在查看我的build.gradle文件之后,我找不到任何调用此警告的代码行。

这是我的build.gradle文件

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'

6 个答案:

答案 0 :(得分:74)

问题在于{{1}}

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

答案 1 :(得分:42)

我对com.google.gms:google-services有同样的警告。

解决方案是将classpath com.google.gms:google-services升级到classpath'com.google.gms:google-services:3.2.0'在build.gradle文件中的项目:

enter image description here

int(*pA)[COL][HIT] = A;   

printf("Sum Of Array A : %d",ADD((*pA)[COL][HIT]);

system("pause");
}

int ADD(int(*pA)[COL][HIT])
{
    int sum = 0;
    for ((*pA)[COL][HIT] = 0; (*pA)[COL][HIT] < 10 * 7 * 6; (*pA)[COL][HIT]++)
    {
        sum = sum + (*pA)[COL][HIT];
    }
    return sum;
}

在Android Studio版本3.1依赖项中,complie word被替换为 实施

android studio 3.1中

依赖于警告

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
}
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'
    }

通过Android Studio 3.1为新项目生成Gradel。

Gradel generate by Android Studio 3.1 for new project.

访问https://docs.gradle.org/current/userguide/dependency_management_for_java_projects.html

详细信息https://docs.gradle.org/current/userguide/declaring_dependencies.html

祝你好运

答案 2 :(得分:6)

我同意尼克拉斯的观点。我将compile更改为implementation,但警告仅在 build.gradle(Project: .....)

更改后消失

<强>之前:

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

<强>后:

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

答案 3 :(得分:5)

首先选择:

  1. 构建
  2. 清理项目然后构建
  3. 在Android工作室制作项目

答案 4 :(得分:-2)

当AndroidManifest.xml软件包名称与build.gradle软件包名称不同时,我收到此错误

  

配置'compile'已过时,已被替换为   “执行”。它将在2018年底删除

Java compile error

答案 5 :(得分:-4)

更改&#34;编译&#34;到&#34;实施&#34;。这个问题将得到解决!它适用于我的电脑。