【问题标题】:Gradle plugin 3.0.0 beta 4: "buildTypeMatching has been removed. Use buildTypes.<name>.fallbacks"Gradle 插件 3.0.0 beta 4:“buildTypeMatching 已被删除。使用 buildTypes.<name>.fallbacks”
【发布时间】:2017-09-04 14:14:27
【问题描述】:

更新到 Gradle 插件 3.0.0 beta 4 后,我们的构建失败并显示以下消息:

buildTypeMatching 已被移除。使用 buildTypes..fallbacks

我们的库有 releasedebug buildTypes,但我们的应用还有两个额外的 buildTypes:“releaseWithLogs”和“debugMinified”。

我们的应用 Gradle 文件的片段:

android {
    // ...
    buildTypeMatching 'releaseWithLogs', 'release'
    buildTypeMatching 'debugMinified', 'debug'

    buildTypes {
        debug {
            // ...
        }
        debugMinified {
            // ...
        }
        release {
            // ...
        }
        releaseWithLogs {
            // ...
        }
    }
}

【问题讨论】:

    标签: android android-gradle-plugin android-build-type


    【解决方案1】:

    经过一番调查,发现以下公告:Android Studio 3.0 Beta 4 is now available。在那里,它提到:

    您现在使用 matchingFallbacks(替换 buildTypeMatchingproductFlavorMatching)为缺少的构建类型和风格提供后备。您还可以使用missingDimensionStrategy(替换flavorSelection)为缺少的维度提供默认选择和回退。

    所以,我们之前的 app build.gradle 被转换为:

    android {
        // ...
        //buildTypeMatching 'releaseWithLogs', 'release' // remove this
        //buildTypeMatching 'debugMinified', 'debug'     // remove this
    
        buildTypes {
            debug {
                // ...
            }
            debugMinified {
                // ...
                matchingFallbacks = ['debug']    // instead use this
            }
            release {
                // ...
            }
            releaseWithLogs {
                // ...
                matchingFallbacks = ['release']  // instead use this
            }
        }
    }
    

    请注意,我们不是说 buildType releaseWithLogs 也将匹配 release (buildTypeMatching 'releaseWithLogs', 'release'),而是在 buildType 本身内部指定匹配。与 debugMinified 匹配的 debug 相同。另请注意,无需将其包含在 releasedebug buildTypes 中,因为它们已经匹配。

    【讨论】:

    • 这没有在文档中指定,但是matchingFallbacks = ['...'] 是否需要成为buildType 的最后一条指令,因为当我将它设置为第一条指令时它对我不起作用?
    • @Eselfar 我不这么认为。您能否打开一个包含其他信息的新问题,以便我可以尝试提供帮助并将链接粘贴到此处作为评论?
    • @IgorGanapolsky 我看不到与您提供的信息的关系。我猜你已经在 SO 中搜索过它并且你已经到了这里。你能提供更多细节吗?参考这个答案,打开一个特定的问题也许会很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多