安卓開發 第九篇 多個專案共用模組
最近忙新專案的事情,都沒有時間寫博文了,慚愧慚愧,今天抽得浮生半日閒,就來一篇吧。
我們在開發中可能會遇到同時開發幾個app的情況,而這幾個app在某些地方是相同的,而我們通常的做法是將相同的部分抽成一個library。這在eclipse中是很好實現的,而在Android studio中,我們一般都是抽成module,而一般這些module還是放在專案的根目錄下的,要在另一個專案中使用,怎麼辦呢?
方法一:
將module拷貝到另一個專案的根目錄下,在其settings.gradle 檔案中的include 後面新增模組名。比如原來只有
include ':app'
然後我們新增一個utils模組:
include ':app',':utils'
最後別忘了在app那個build.gradle檔案中的dependencies加上
compile project(":utils")
大家應該發現了,這種辦法挺笨的,如果一個app中的module有程式碼上的改變,就要將有改變的module拷貝,然後覆蓋未被改變的module。
其實我們有更好的辦法,讓兩個app指向同一個module。
方法二:
我們在app的根目錄的的同級目錄(也就是你專案所在的目錄),建立一個新的資料夾,比如命名為library,然後把module拷貝進去,在兩個app的settings.gradle 檔案中的include 後面修改或新增模組名。比如原來是
include ':app'
我們改成:
include ':app',':..:library/:utils'
原來是:
include ':app',':utils'
我們也改成:
include ':app',':..:library/:utils'
之後別忘了修改app的build.gradle檔案中的dependencies,兩個app都要改哦:
compile project(":..:library/:utils")
之後我們就可以共用這個library中的module了,是不是方便了很多(當然,兩個專案得在同一個資料夾裡面,library也在這個資料夾裡面)。
好了,就到這裡吧!
如果有更深的理解,本文將會修改;
如果有錯誤的地方,歡迎指正;
如果你有更好的理解,歡迎交流。
本文為原創文章,版權歸博主所有,轉載請註明出處。