前言
目前有數個專案使用了共同的核心架構,
一開始是每個專案都有一份相同的程式碼。
有天驚覺:
若哪天核心程式碼做了修改,
那麼每個專案都要跟著做調整;
一兩個還好,若是要修改數十個專案,
這肯定會是一場災難。
理想的作法是只要改一次,更改的內容便可同步到其他專案。
針對這個需求,最後決定採用 Git Submodules;
修改完核心程式,各專案的 Submodule 只要 git pull 就可以更新。
設定方式
這部分會提到 Git 以及 Android 專案設定,
其中 Git 是使用 SourceTree 這個 GUI 工具。
SourceTree 設定 Git Submodules
![Git submodule](https://bunny-wp-pullzone-lisd3hqiwh.b-cdn.net/wp-content/uploads/2017/08/img_2017-06-23-120335-1024x981.jpg)
點擊 Add Submodule
![指定某個路徑為 Submodule](https://bunny-wp-pullzone-lisd3hqiwh.b-cdn.net/wp-content/uploads/2017/08/img_2017-06-23-120336-1024x307.jpg)
設定 Submodule 相對路徑,core 是我設定的名稱。
完成,Submodule 是一個獨立的 repository 可以個別管理。
Android Studio 設定
專案根目錄 settings.gradle 設定 module 目錄:
include ':core'
app/build.gradle 新增相依的專案:
dependencies { compile project(':core') ... }
後記
自從設定完 Git Submodules,
最有感的部分在於:
新專案處理架構的時間都省下來了,
只要把 module 引入專案就好,相當方便。
留言列表