在我的项目构建中,我已经替换了每一个compile by implementation的出现。gradle,但是我仍然得到这个警告:

我试图在整个项目中寻找“compile”,但没有找到匹配。那么原因是什么呢?


当前回答

对我来说,解决这个问题的变通方法是我使用了一个旧版本的Gradle,可以在这里找到:

我使用的是gradle-3.0-rc-1-src版本,但其他版本也可以,尽管它可能不会比3.0版本更新。

首先将压缩文件解压到您喜欢的任何地方。

然后进入文件->设置->构建,执行,部署-> Gradle,并将设置更改为使用本地Gradle分布。在此之后,确保Gradle home字段指向刚刚解压到的目录中的. Gradle目录。

重新构建项目,一切都应该正常。

其他回答

我有一个相同的警告导致com.google.gms:google-services。

解决方案是升级classpath com.google。Gms:google-services到类路径'com.google.gms:google-services:3.2.0'在文件中构建。gradle项目:

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版本中,依赖项compliword被替换为 实现

在android studio 3.1中依赖Warning

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中确定依赖

    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'

    }

graddel生成的Android Studio 3.1的新项目。

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

详情https://docs.gradle.org/current/userguide/declaring_dependencies.html

仅仅更新谷歌服务版本对我来说不起作用。

首先,确保所有的依赖编译都替换为实现。 更新项目中的所有依赖项。因为如果你的一个依赖项正在编译,那么你的项目就会显示这个错误。所以更新所有依赖项版本。

去你的建筑。Gradle(应用级)

构建。Gradle模块app

将“编译”替换为“实现”

100%可以正常工作

打开构建。Gradle文件位于这里:

这是编写依赖库的旧方法(对于gradle版本2及以下):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile files('libs/volley.jar')
    compile 'com.android.support:support-v4:21.+'
}

这是导入gradle版本3依赖项的新方法(正确的):

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    implementation files('libs/volley.jar')
    implementation 'com.android.support:support-v4:21.+'
}

对我来说,将编译改为实现可以解决这个问题

之前

compile 'androidx.recyclerview:recyclerview:1.0.0'
compile 'androidx.cardview:cardview:1.0.0'
//Retrofit Dependencies
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
//Retrofit Dependencies
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'