上次有同事问我怎样才能分渠道打包引用不同的库,当时因为知识有限,让引用所有的库,然后通过代码去实现,后来发现了这篇文章,开阔了我的眼界,提供了新思路。
多渠道打包在这里就不多叙述了,不懂得可以行谷歌或百度。例如我们随便起两个名字:
productFlavors { "inner" { } "cibn"{ } }
然后我们在不同的包中引入不同的model如下:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'
cibnCompile project (':CommonLibsProject:net')
innerCompile project(':CommonLibsProject:dataReport')
}
这里有几点需要注意的地方,1渠道的首字母要小写,不然的在分渠道引入的时候会报错,2分渠道包引入的时候原来的compile中的首字母C要大写,其他的不便,只是在compile前边加上你要的渠道名称就可以了。
上例中只是引入了不同的model,大家完全可以引入不同的jar,或者库。