1. 程式人生 > >安卓開發 第九篇 多個專案共用模組

安卓開發 第九篇 多個專案共用模組

最近忙新專案的事情,都沒有時間寫博文了,慚愧慚愧,今天抽得浮生半日閒,就來一篇吧。

我們在開發中可能會遇到同時開發幾個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也在這個資料夾裡面)。

好了,就到這裡吧!

如果有更深的理解,本文將會修改;
如果有錯誤的地方,歡迎指正;
如果你有更好的理解,歡迎交流。

本文為原創文章,版權歸博主所有,轉載請註明出處。