基於AS開發項目,對於特定的功能模塊,每每抽取成獨立的庫進行管理,而後上傳到Marven庫中,經過Gradle依賴的方式進行引用。api
其優點體如今:安全
1,獨立的Git項目庫,模塊功能,及職責界定清晰;測試
2,外部使用方通常無須關注此Git項目庫的具體實現和邏輯細節,只需按照對應的對外暴露的方式調用便可;gradle
3,通常此類Git項目庫有專門的管理員,和技術人員實現其功能的迭代和維護更新,以及對應的版本管理;ui
4,使用方只是經過Gradle引用, 此Git項目庫在安全性上有進一步保障。調試
但在實際開發中,有時候須要對此Git項目庫進行修改,對應須要和主工程進行聯調測試等,此時若是每次修改此Git項目庫代碼後,更新到Marven庫,而後再在主工程code
更新對應的marven版本依賴,不管是實現過程,仍是實際調試等,都過於繁瑣。blog
Gradle提供了特定的語法結構,能夠在調試時直接相似於引入此項目其餘模塊的方式引入此類獨立Git庫。ci
具體語法結構爲:開發
settings.gradle文件:
include ':cornlog'
project(':cornlog').projectDir = new File('../CornLogSDK/cornlogsdk')
主工程build.gradle文件:
dependencies { ...... api(project(':cornlog')) { exclude group: 'com.abc.mlog', module: 'mlog' } ....... }
sync後,能夠發現此獨立Git項目庫會出如今當前主工程左側項目導航視圖中,能夠直接修改、編譯、調試等。相似於主工程項目內其餘獨立模塊效果。
但Git commit等,仍然是分開的,當前主工程的Git提交依然只對主工程有效,須要提交此獨立Git項目庫須要到其獨立Git本地工程中提交便可(代碼與主工程視圖中修改此獨立Git項目庫代碼是同一份)。