不同渠道打包时依赖不同的第三方包

上代码


android{

    buildTypes{
        release{ ... }
        stage{ ... }
        qatest{ ... }
        autotest{ ... }
        debug{ ... }
    }
    // ...
    project.configurations.all{ variant->
        resolutionStrategy.eachDependency{ details->
            if (details.requested.group =='com.dianping.android.sdk' && details.requested.name =='nvnetwork') {
                if (variant.name.contains('release') || variant.name.contains('stage')) {
                  details.useVersion'4.2.38.1'
                }else {
                  details.useVersion'4.2.38.2-rms-0'
                }
                println"new :${details.requested}" // 此处还是旧结果,实际是生效了的。
            }
        }
    }

}

引用

https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html
https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/DependencyResolveDetails.html

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容