很多人在使用multidex的時候耍群,指定主dex的類時罢缸,用的是網(wǎng)上的代碼变擒,
afterEvaluate {
tasks.matching {
it.name.startsWith('dex')
}.each { dx ->
if (dx.additionalParameters == null) {
dx.additionalParameters = ['--multi-dex']
} else {
dx.additionalParameters += '--multi-dex'
}
dx.additionalParameters += '--main-dex-list=list.txt'
}
}
對此我只能呵呵了分俯,實際上從gradle plugin1.5開始肾筐,谷歌已經(jīng)把multidex移入了transform api里。所以這個代碼永遠執(zhí)行不到的缸剪。具體可以看下面的文章吗铐。(說實在的谷歌文檔是蠻難找的,我找了好久)
http://tools.android.com/tech-docs/new-build-system/transform-api
目前如果仍然想這么實現(xiàn)的話杏节,可以用
afterEvaluate {
tasks.matching {
it.transform.name.startsWith('dex')
}.each {
xxx
}
但是并沒有文檔推薦這么做唬渗,我只是看github上有人這樣寫。
其實gradle已經(jīng)提供參數(shù)了奋渔,現(xiàn)在想添加maindex文件镊逝,只需要使用以下兩個屬性
multiDexKeepProguard file('multiDexKeep.pro') // keep specific classes using proguard syntax
multiDexKeepFile file('multiDexKeep.txt')
請大家不要再抄網(wǎng)上的啦,哈哈