国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > Android 使用Gradle动态生成多渠道的APK

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

来源:程序员人生   发布时间:2014-12-09 08:12:12 阅读次数:3238次

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

但是在使用的进程中使用gradle assembleRelease -Pmc 其实不能得到我想要的所有的包,究其缘由是:作者使用了buildType来作为渠道的定义类型,这个不能满足我的需求。而在我的理解,多渠道应当是flavor,因此自己重新写了1下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

还有这个




生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生