【问题标题】:WARNING: API 'variant.getMappingFile()' is obsolete and has been replaced with 'variant.getMappingFileProvider()'警告:API 'variant.getMappingFile()' 已过时,已替换为 'variant.getMappingFileProvider()'
【发布时间】:2020-02-25 05:01:31
【问题描述】:

我刚刚将 Android Studio 3.5 更新为 Android Studio 3.6,并在同步 Gradle 时将之前的 Gradle 插件替换为 Gradle 插件 3.6.0:

build.gradle:API 'variant.getMappingFile()' 已过时且已被 替换为 'variant.getMappingFileProvider()'

有关如何调试此警告的任何建议。它来自哪里?我在我的代码中没有看到 getMappingFile 的任何用法,但可能是某个库。调试此类案例的建议会有所帮助

【问题讨论】:

  • 升级您的 Gradle,例如编译 SDK 版本、目标 SDK 版本、最低 SDK 版本和使用 AndroidX 迁移
  • 我已经在使用 AndroidX。为什么要更新最低 SDK 版本?您的意思是我们停止支持较旧的操作系统版本,因为发布了较新的操作系统版本?这没有多大意义,因为我们需要支持新的而不破坏旧的。您能否提供进行这些更改的原因,因为问题是关于如何诊断此类错误?

标签: android


【解决方案1】:

升级

classpath 'io.fabric.tools:gradle:1.29.0'

classpath 'io.fabric.tools:gradle:1.31.2'

在我的顶级 build.gradle 中为我解决了这个问题。

【讨论】:

  • 刚刚来自 Android Studio 4.0,这是相同的解决方案。
【解决方案2】:

在设置了参数-Pandroid.debug.obsoleteApi=true 的情况下运行 gradle 脚本时,您可以获得导致问题的堆栈跟踪。

我发现它与 Crashlytics 有关。有这个issue 打开,但它显然是遗留插件,所以问题已经再次关闭,建议联系 Fabric 支持。所以希望他们能找到解决办法。

【讨论】:

    【解决方案3】:
    1. 转到 Gradle Scripts 下的 build.gradle
    2. 添加此行:classpath 'io.fabric.tools:gradle:1.31.2'
    3. 重建您的项目。

    【讨论】:

      【解决方案4】:

      如果您的项目使用 Firebase: 而不是 upgrading io.fabric.tools:gradle 版本,最好切换到 com.google.firebase:firebase-crashlytics-gradle,因为 Fabric 现在已弃用。有关详细说明,请参阅 Upgrade to the Firebase Crashlytics SDK 指南。

      【讨论】:

        【解决方案5】:

        也许它对某人有帮助。就我而言,它是:

        variant.mappingFile 
        

        在 build.gradle 中用于备份映射文件。要删除警告使用:

        variant.mappingFileProvider
        

        【讨论】:

          猜你喜欢
          • 2019-11-12
          • 2019-11-13
          • 2019-09-02
          • 2019-11-23
          • 1970-01-01
          • 1970-01-01
          • 2019-05-23
          相关资源
          最近更新 更多