API 'variant.getJavaCompile()' 已过时并已替换为 'variant.getJavaCompileProvider()'。它将在 2019 年底被删除

API 'variant.getJavaCompile()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'. It will be removed at the end of 2019

当我添加对象插件时它会显示这个警告..任何人都知道我应该如何解决这个问题。每次都困扰我

警告:API 'variant.getJavaCompile()' 已过时并已替换为 'variant.getJavaCompileProvider()'。 它将在 2019 年底被删除。 有关详细信息,请参阅 https://d.android.com/r/tools/task-configuration-avoidance。 要确定调用 variant.getJavaCompile() 的内容,请在命令行上使用 -Pandroid.debug.obsoleteApi=true 以显示堆栈跟踪。 受影响的模块:app

我也有这个问题,但这只是一个警告,虽然它是一条红色消息,它将通过插件更新修复,您不必担心。

但如果它困扰你,你可以将你的 Gradle 版本降级到 3.2.0,它就会消失。 (我不确定 Gradle 版本,但如果 3.2.0 对您没有帮助,请尝试其他版本)。

如消息所示,这是一个可以安全忽略的警告,直到您更新到 Android Gradle 插件版本超过 3.3.0。

我们知道这一点,未来的更新将使用新的而不是已弃用的 Android Gradle 插件 API。

https://github.com/objectbox/objectbox-java/issues/643

这已在 Fabric gradle 插件的最新版本 1.28.0 中修复。把这个放在你的顶级 build.gradle:

buildscript {
  // ... repositories, etc. ...

   dependencies {
       // ...other dependencies ...
       classpath 'io.fabric.tools:gradle:1.28.0'
   }
}

对于我的情况,我在gradle中使用了variant.javaCompile(),将其更改为variant.javaCompileProvider(),然后问题就解决了。

因此您可以尝试将代码中的 variant.javaCompile() 更改为 variant.javaCompileProvider()

或检查您使用的 gradle 插件,例如 Fabric。