'ProductFlavor.resConfigs'有一个值'auto',它已经过时且尚未被替换

Ale*_*vin 5 android gradle build.gradle android-gradle-plugin android-studio-3.1

如何修复下面的警告?有没有"汽车"的替代品?

警告:DSL元素'ProductFlavor.resConfigs'的值为'auto',已过时且尚未替换.它将在2018年底删除

android {
    ...
    flavorDimensions "device", "paid", "market"
    productFlavors {
        phone {
            // Phone config version for the application
            resConfigs ("auto")
            dimension "device"
            matchingFallbacks = ['mobile']
        }
        ...     
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*Pag 8

这是更新到Android Studio 3.1后的错误:

在此输入图像描述

根据官方公布的提醒在这里做的是彻底消除了标签,如果你支持所有语言或提供的语言代码的数组您的应用支持最喜欢的事情:

resConfigs "en", "de", "it", "fr" // etc. etc.
Run Code Online (Sandbox Code Playgroud)

更多信息:

这是官方文件中提出的资源优化的一个位置,所以我决定来测试这个标志与那些FirebaseUI依赖于一个示例项目

implementation "com.firebaseui:firebase-ui-auth:$firebase_ui_version"
implementation "com.firebaseui:firebase-ui-database:$firebase_ui_version"
implementation "com.firebaseui:firebase-ui-storage:$firebase_ui_version"
Run Code Online (Sandbox Code Playgroud)

使用这两个选项创建调试APK,结果如下:

  • 使用resConfigs "auto"调试APK是:3,793 KB
  • 使用resConfigs "en"(仅限1种语言)调试APK为:3,294 KB

这意味着,对于这些依赖项的所有语言的所有字符串资源,我只有大约500KB的大小增加.这是你可以推理的东西,你绝对应该使用你使用的依赖项进行测试,看看大小增加是否可以忽略不计,从而决定提供支持的语言列表或删除resConfigs选项.

PS:如果你使用的是Android,FirebaseUI这是建议的优化之一,我在这里创建了一个关于这个问题的问题,这个问题已被强大的人所立即解决了SUPERCILEX