一炫彩、為何要進(jìn)行Application與Library切換
上篇文章說道組件化優(yōu)勢是無需編譯整個project澈蟆,就是因為功能模塊在開發(fā)過程中以Application的形式存在。當(dāng)業(yè)務(wù)功能整合時应民,才以Library的形式存在。
二蕾管、實(shí)現(xiàn)方法
1、在項目根目錄的gradle.properties文件創(chuàng)建變量isLibrary?= fasle(整合模塊時為true)
2菩暗、配置功能模塊
然后在module的main文件夾下創(chuàng)建module文件夾掰曾,將AndroidManifest.xml拷貝到該目錄下,并編寫以Application運(yùn)行時的配置(如啟動Activity停团,Application的name等)
設(shè)置兩種運(yùn)行模式的AndroidManifest.xml路徑,如下圖
3旷坦、app殼工程配置
當(dāng)要合并代碼時,將isLibrary變量改成true即可
三客蹋、注意事項
library的id不是常亮塞蹭,所以無法使用switch case R.id.**; 可用if else替換
若使用butterknife,需將R改成R2讶坯,比如R.id.test改成R2.id.test(使用kotlin就沒這個煩惱啦)
組件化demo :https://github.com/rongkun/ComponentJava
kotlin版:https://github.com/rongkun/Component
本文實(shí)現(xiàn)比較簡單番电,下篇文章將介紹各個Module的Application共存問題