android – Gradle插件3.0.0 beta 4:“buildTypeMatching已被删除.使用buildTypes..fallbacks“

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

buildTypeMatching has been removed. Use buildTypes.<name>.fallbacks

我们的库有发布和调试buildTypes,但我们的app有两个额外的buildTypes:’releaseWithLogs’和’debugMinified’.

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

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

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

解决方法:

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

You Now provide fallbacks for missing build types and flavors using matchingFallbacks (which replaces buildTypeMatching and productFlavorMatching). You also provide the default selection and fallbacks for missing dimensions using missingDimensionStrategy (which replaces flavorSelection).

所以,我们以前的应用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匹配调试也是如此.另请注意,在发布和调试buildTypes中不需要包含它,因为它们已经匹配.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...