警告:API 'variant.getExternalNativeBuildTasks()' 已过时并已替换为 'variant.getExternalNativeBuildProviders()'
Posted
技术标签:
【中文标题】警告:API \'variant.getExternalNativeBuildTasks()\' 已过时并已替换为 \'variant.getExternalNativeBuildProviders()\'【英文标题】:WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'警告:API 'variant.getExternalNativeBuildTasks()' 已过时并已替换为 'variant.getExternalNativeBuildProviders()' 【发布时间】:2019-05-23 08:46:20 【问题描述】:无法解决此警告。我该如何解决这个问题?
variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with
variant.getExternalNativeBuildProviders()
【问题讨论】:
API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()的可能重复 这里是提供的修复。 ***.com/a/55193824/3806413 【参考方案1】:只需将 Fabric gradle 插件更新到 1.28.0
dependencies
classpath 'io.fabric.tools:gradle:1.28.0'
【讨论】:
【参考方案2】:将此android.debug.obsoleteApi=true
添加到gradle.properties
文件中。并使 gradle 干净,同步然后构建一个 APK。为我工作。我有 Android Studio 3.3 和 Gradle 版本 4.10.1。
有关更多信息,请查看此链接:Android Gradle plugin release notes。
我同意其他贡献者的观点:Fabric 会导致此错误。
更新
查看Valdislav Panchenko's答案:
现在您只需将 Fabric 插件更新为 1.28.0,如下所示:
dependencies
classpath 'io.fabric.tools:gradle:1.28.0'
【讨论】:
您也可以将此标志与命令./gradlew assembleDebug -Pandroid.debug.obsoleteApi=true
一起使用【参考方案3】:
很可能是由 Crashlytics 所需的 Fabric 插件引起的。
注释掉apply plugin: 'io.fabric'
可以解决问题。所以唯一的选择是等到谷歌开发者修复 Fabric 的插件。
【讨论】:
【参考方案4】:这是由您项目中使用的 Gradle 插件之一引起的。
检查 build.gradle 文件并尝试一一删除 apply plugin: xxx
以准确了解哪个插件导致警告。
在我们的项目中,昨天 Google 将 Android Studio 更新到 3.3 后,它是 apply plugin: 'io.fabric'
。
【讨论】:
我从 build.gradle 中删除了 fabric 插件,警告终于消失了。感谢您的支持。【参考方案5】:这发生在我身上,但我需要继续使用 Fabric 插件。
对于那些需要保持Fabric插件应用的人,临时的解决方案是在项目级别回到之前版本的gradle。
将类路径版本更改为com.android.tools.build:gradle:3.2.1
。
【讨论】:
【参考方案6】:对于那些即使不使用织物也面临这个问题的人,忘记上面 Vitaly Zeyenko 的更新答案,只需转到项目的 gradle 文件夹并打开 gradle.properties 文件并添加这一行 -->>> android.debug.obsoleteApi=true 到它...
之后,清理并重建项目...这是一个比命令行更好的解决方案,因为很多人已经将 JDK 环境设置为计算机上的错误位置,并且通过命令行
【讨论】:
以上是关于警告:API 'variant.getExternalNativeBuildTasks()' 已过时并已替换为 'variant.getExternalNativeBuildProviders()'的主要内容,如果未能解决你的问题,请参考以下文章
警告:API 'variant.getMergeResources()' 已过时,已替换为 'variant.getMergeResourcesProvider()'
警告:API 'variant.getJavaCompile()' 已过时,已替换为 'variant.getJavaCompileProvider()'