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

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


当前回答

我已经更新了com.google。Gms:google-services从3.1.1升级到3.2.0,警告停止出现。

buildscript {

    repositories {
        google()
        jcenter()
    }
    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")
    }
}

其他回答

我已经尝试在Android Studio 3.0.1中将谷歌gms服务更改为最新的com.google.gms:google-services:3.2.1,但警告仍然存在。

根据编译器的建议,我将所有编译依赖项更改为实现,并将testCompile更改为testimplemimplementation,如下所示。

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:mediarouter-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.google.firebase:firebase-ads:12.0.1'
implementation 'com.google.firebase:firebase-crash:12.0.1'
implementation 'com.google.firebase:firebase-core:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
implementation 'com.google.firebase:firebase-perf:12.0.1'
implementation 'com.google.firebase:firebase-appindexing:12.0.1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

最后,警告被删除!

回到你的位置。在项目级别的Gradle文件中,您会发现以下行突出显示

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.4'  //place your cursor over here 
    //and hit alt+enter and it will show you the appropriate version to select


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files

    classpath 'com.google.gms:google-services:4.0.2' //the same as previously
}

使用当前最新版本的谷歌gms服务为我解决了这个问题。

在项目级别build.gradle:

buildscript {
    ...
    dependencies {
        classpath 'com.google.gms:google-services:3.2.1'
        ...  
    }
}

在我的例子中,它是一个使用compile来实现传递依赖的旧依赖:com.jakewharton.hugo

将它从我的gradle中删除后,它编译了。

我尝试了这里提到的所有解决方案,但运气不佳。 我在我的身材里发现的。Gradle文件如下:

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
    }

我只是将其更改为如下所示并保存并尝试构建成功。

dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
    }