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

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


当前回答

回复谷歌:https://issuetracker.google.com/issues/74048134

会有一些依赖仍然使用编译,仔细检查你的应用程序依赖和传递依赖。

其他回答

在我的情况下,这是由Realm库引起的,在我将它更新到Realm的最新版本(目前为止为5.1.0)后,问题解决了!

下面是gradle的工作脚本:

buildscript {
repositories {
    jcenter()
    google()
}

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    classpath "io.realm:realm-gradle-plugin:5.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.1'
  }
}

我已经更新了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")
    }
}

打开构建。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.+'
}

我在没有使用com.google.gms:google-services的情况下遇到了这个问题。 解决这类问题的方案如下:

检查构建。所有项目和模块的Gradle文件。或者只是全局搜索关键字“编译”,以找到引起此警告的原因。 如果上述方法无法解决此警告,则使用CLI命令, ./gradlew assembleDebug -d > gradle.log 打印详细的调试信息到一个名为gradle.log的文件或其他文件中,因为信息太多了。然后搜索“WARNING”在gradle.log中找到警告的位置,通常你可以找到哪个依赖或插件导致了警告。

你有两种选择:

在project: build中添加类路径'com.google.gms:google-services:3.2.0'。gradle依赖性 而且 替换模块:build。Gradle依赖于编译实现 而且你不会收到任何警告信息。