天天看點

打包aar時剔除資源檔案

    最近一直在做SDK的事情,今天給其他組一個SDK,居然被嫌棄了,棄了,了。。。

    SDK包總共7.7M大小,資源檔案占據了90%還多,是以對方期望把資源檔案從aar包中分離出來,由他們動态加載。這是一個很好的想法,個人非常認同,自己的鍋,沒得說,必須改。

    網上查了好半天,好像沒這方面的需求,偶然在stackoverflow上發現了類似的文章,拿大神的建議改了改,親測有效,特此記錄!

    修改Module的build.gradle,修改如下:

libraryVariants.all { variant ->
    variant.mergeAssets.doLast {
    println("try to delete 'images/**' from variant")
    delete(fileTree(dir: variant.mergeAssets.outputDir, includes: ['images/**']))
    }
}
           

    其實是利用doLast的特性,最後将打包資源中的某些檔案删除。

   注:原本想通過 assets.exclude 或者 ignoreAssetsPattern 删除掉某些資源,可惜最後沒走通,特此記錄一下,有機會再研究一下。