導入一個AndroidStudio工程做爲一個Library Module

在咱們有兩個Android Studio工程的狀況時,咱們想使用一個做爲library工程導入到另外一個工程做爲一個module。咱們可使用Android Studio很容易的作到。android

讓咱們假設咱們有兩個工程:MyApplication和MyLibrary,咱們想導入MyLibrary到MyApplication做爲一個module。app

技術分享 
首先咱們須要從MyLibrary工程中找到module中的build.gradle文件,它一般在app目錄下,除非你修改了module的名稱。gradle

技術分享

注意builde.gradle文件的plugin是‘com.android.application’。爲了使用這個工程做爲一個library工程,咱們須要修改成 ‘com.android.library’。文件的內容就像這樣:ui

技術分享

試着sync一下工程,會出現一個錯誤: Library projects cannot set applicationId(類工程不能設置applicationId)。spa

技術分享

咱們能夠刪除gradle文件中的applicationId這行,在defaultConfig 括號裏面。code

技術分享 
MyLibrary 工程就修改完了。 
而後咱們在MyApplication 工程中導入 
MyLibrary 做爲一個module。 
在MyApplication 工程中, 點擊File -> New -> Import Module。 
技術分享ci

出現一個對話框it

技術分享

從MyLibrary工程中找到你想要導入的Module目錄。一般它是app module除非你給了它另外一個名稱。io

技術分享

若是在MyApplication工程中Module使用相同的名稱將會出現錯誤。爲了從一個library工程導入一個修改的Module,咱們能夠給它一個版本號在Module名稱設置框。class

技術分享

修改Module的名稱爲my-library,導入成功。

技術分享

到這一步差很少已經完成,最後一步是在MyApplication 工程中修改依賴。 
不少人會忘了作這一步。

打開工程結構對話框,選擇app Module(能夠有別的名稱),在右側點擊依賴標籤。

技術分享

找到加號並點擊它,從彈出菜單中選擇module依賴。

技術分享

而後選擇咱們剛從MyLibrary工程中導入的library module。

技術分享

點擊OK,就完成了。

IDE會在MyApplication/app/build/gradle file文件添加好依賴。

依賴部分就像下面的同樣:

dependencies { compile fileTree(dir: libs, include: [‘*.jar]) compile com.android.support:appcompat-v7:22.2.0 compile project(‘:my-library) }

它可能工做的挺好,但這有一個很重要的問題,MyLibrary工程有它本身的依賴。例如,MyApplication和MyLibrary使用support libraries,這有可能會發生衝突。

咱們能夠在gradle中經過transitive配置依賴避免這個問題。 
咱們能夠修改這行

compile project(‘:my-library)

compile(project(‘:my-library)){ transitive=false; }

這個問題就能夠避免。Done!

技術分享

That’s all. Happy coding!

相關文章
相關標籤/搜索