警告:API 'variant.getMergeResources()' 已过时,已替换为 'variant.getMergeResourcesProvider()'
Posted
技术标签:
【中文标题】警告:API \'variant.getMergeResources()\' 已过时,已替换为 \'variant.getMergeResourcesProvider()\'【英文标题】:WARNING: API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'警告:API 'variant.getMergeResources()' 已过时,已替换为 'variant.getMergeResourcesProvider()' 【发布时间】:2019-11-12 20:16:14 【问题描述】:我每次构建应用程序时都会收到此警告。我想我已经更新了所有的库,有人可以告诉我问题出在哪里?显然,我认为这可能来自 Google Play 服务,但我拥有我正在使用的所有库的最新版本。
我找不到任何可以解决问题的方法
警告:API 'variant.getMergeResources()' 已过时,已替换为 'variant.getMergeResourcesProvider()'。 它将在 2019 年底被删除。 有关详细信息,请参阅https://d.android.com/r/tools/task-configuration-avoidance。 要确定调用 variant.getMergeResources() 的内容,请在命令行上使用 -Pandroid.debug.obsoleteApi=true 以显示更多信息。 受影响的模块:app
【问题讨论】:
你能把你的gradle文件同时发布在app和project上吗 variantOutput.getPackageApplication() is obsolete的可能重复 通过发布一些堆栈跟踪,不清楚哪个插件可能会导致警告(即使它似乎是com.google.gms.googleservices
)......这个问题可以用版本4.3.0
重现。跨度>
我已在此链接中解决了 Ashish 解决方案的问题:***.com/questions/56816296/…
API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'的可能重复
【参考方案1】:
我收到了完全相同的警告,我从我的应用程序的 build.gradle 中删除了这一行。
apply plugin: 'com.google.gms.google-services'
原来我不需要插件,警告消失了。
【讨论】:
如果你去掉这行,谷歌服务的所有库仍然可以正常工作吗? 它是一个小应用程序,我只提供一些广告,所以我在依赖项implementation 'com.google.android.gms:play-services-ads:18.0.0'
中有这条线,就可以了。来自here。
我尝试删除此行应用插件,然后,谷歌找不到 google_app_id【参考方案2】:
看起来是由 gms services 4.3.0 引起的。这似乎只是一个警告,不会引起任何问题。但是,如果您愿意,可以在项目级 gradle 文件中使用早期版本的 gms 服务来摆脱它:
com.google.gms:google-services:4.2.0
【讨论】:
【参考方案3】:从技术上讲,这是一个“警告”,而不是错误。要消除警告的需要,请将您的 gms
降级到较低版本,例如 4.2.0
。
【讨论】:
【参考方案4】:对于在我的情况下仍然面临同样问题的人来说,错误是因为法语撇号 (')
我把这个字符串翻译成法语,它导致了错误
<string name="same_address">l'adresse de départ et l'adresse d'arrivée sont les mêmes!</string>
您必须在任何撇号前添加一个反斜杠 (),如下所示:
<string name="same_address">l\'adresse de départ et l\'adresse d\'arrivée sont les mêmes!</string>
【讨论】:
【参考方案5】:根据官方firebase documents,google-services插件4.3.2版本有此问题。
google-services 插件 4.3.2
修复了 getMergeResourcesProvider 警告。更多详情,请参阅 GitHub PR 82。
所以将com.google.gms:google-services
classpath 升级到 4.3.2 或更高版本。
【讨论】:
以上是关于警告:API 'variant.getMergeResources()' 已过时,已替换为 'variant.getMergeResourcesProvider()'的主要内容,如果未能解决你的问题,请参考以下文章
警告:API 'variant.getMergeResources()' 已过时,已替换为 'variant.getMergeResourcesProvider()'
警告:API 'variant.getJavaCompile()' 已过时,已替换为 'variant.getJavaCompileProvider()'