上次有同事問我怎樣才能分渠道打包引用不同的庫,當時因爲知識有限,讓引用所有的庫,然後通過代碼去實現,後來發現了這篇文章,開闊了我的眼界,提供了新思路。
多渠道打包在這裏就不多敘述了,不懂得可以行谷歌或百度。例如我們隨便起兩個名字:
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,或者庫。