Android 使用Gradle动态生成多渠道的APK

在使用gradle 进行多渠道打包的过程中参考了博文:http://blog.csdn.net/qihigh/article/details/17922345 (在此先感谢一下)

然而在使用的过程中使用gradle assembleRelease -Pmc 并不能得到我想要的所有的包,究其原因是:作者使用了buildType来作为渠道的定义类型,这个不能满足我的需求。而在我的理解,多渠道应当是flavor,因此自己重新写了一下flavor的脚本

def falvors = getMyFlavorsFromFileSystem();

    productFlavors{
        prod {

        }
        dev{

        }
        _4T{}

        falvors.each{name,config->
            "$name"{
                sourceSets["$name"].res.srcDirs = [config.rrrr]
            }
        }

    }

这样在在使用assembleRelease -Pmc 时就能够按照预期的打包生成apk了

附上相关的代码:

def getMyFlavorsFromFileSystem(){
    flavors = [:]
    if (project.hasProperty('mc')){

        println '------setup flavors ---------------'
        def path = './build-type/type.txt'
        def prefix = '_'
        file(path).eachLine{ line ->
            println line
            def f = file("./build-type/$line")
            if (!f.exists()) {
                f.mkdir()
            }

            def resPath = file("./build-type/$line/res-" + prefix+line)
            if (!resPath.exists()) {
                resPath.mkdir()
            }

            copyRes(resPath.absolutePath,line)
            flavors.put(prefix+line,[
                    rrrr : resPath
            ])
        }

    }

    return flavors
}

参考文档:

Android自动构建多平台的包

dynamically-generating-product-flavors

还有这个




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值