警告:API 'variant.getExternalNativeBuildTasks()'已过时,已被'replaced with 'variant.getExternalNativeBuildProviders()''。

19

我无法解决这个警告,请问该如何解决?

 variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 
 variant.getExternalNativeBuildProviders()

这里提供了修复方法。https://dev59.com/C-k5XIcBkEYKwwoY7OHv#55193824 - 0xAliHn
6个回答

18

只需将Fabric gradle插件更新至1.28.0即可。

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

16
android.debug.obsoleteApi=true添加到gradle.properties文件中。然后进行gradle清理,同步,构建APK。这对我有用。我使用的是Android Studio 3.3和Gradle 4.10.1版本。

有关更多信息,请查看此链接:Android Gradle插件发行说明

我同意其他贡献者的观点:Fabric引起了这个错误。

更新

请检查Valdislav Panchenko的回答:

现在,您可以按照以下方式更新您的Fabric插件到1.28.0:
dependencies {
   classpath 'io.fabric.tools:gradle:1.28.0'
}

1
您还可以使用此标志与命令 ./gradlew assembleDebug -Pandroid.debug.obsoleteApi=true - Sebastian

7

很可能是由于Crashlytics所需的Fabric插件引起的。

注释掉apply plugin: 'io.fabric'可以解决这个问题。因此,唯一的选择是等待Google开发人员修复Fabric的插件。


4

这是由你项目中使用的Gradle插件之一导致的。 检查build.gradle文件,并尝试逐个删除apply plugin: xxx以了解到底是哪个插件导致了这个警告。 在我们的项目中,由于Google更新了Android Studio到3.3版本,导致警告出现的插件是apply plugin: 'io.fabric'


1
我从build.gradle文件中移除了fabric插件,警告终于消失了。感谢您的支持。 - Hemendra Gangwar

2

这种情况曾经发生在我身上,但我需要继续使用 Fabric 插件。

对于那些需要继续使用 Fabric 插件的人,暂时的解决方案是回到项目级别之前的 gradle 版本。

将 classpath 版本更改为 com.android.tools.build:gradle:3.2.1


0

对于那些即使没有使用fabric也遇到了这个问题的人,不要再看Vitaly Zeyenko上面更新的答案了,只需进入您项目的gradle文件夹并打开gradle.properties文件,然后添加这一行 -->>> android.debug.obsoleteApi=true ...

之后,清理并重新构建项目... 这比在命令行上解决问题更好,因为很多人已经将JDK环境设置为错误的位置,并可能会在通过命令行解决此问题时遇到更多问题。

gradle-wrapper.properties in gradle->wrapper


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接