Multidex坑

很多人在使用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)上的啦,哈哈

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容