匯入一個AndroidStudio工程作為一個Library Module

來源:互聯網
上載者:User

標籤:

尊重勞動成果,轉載請註明出處:http://blog.csdn.net/growth58/article/details/47441245 
關注新浪微博:@於衛國 
郵箱:[email protected]

在我們有兩個Android Studio工程的情況時,我們想使用一個作為library工程匯入到另一個工程作為一個module。我們可以使用Android Studio很容易的做到。

讓我們假設我們有兩個工程:MyApplication和MyLibrary,我們想匯入MyLibrary到MyApplication作為一個module。

 
首先我們需要從MyLibrary工程中找到module中的build.gradle檔案,它通常在app目錄下,除非你修改了module的名稱。

注意builde.gradle檔案的plugin是‘com.android.application’。為了使用這個工程作為一個library工程,我們需要修改為 ‘com.android.library’。檔案的內容就像這樣:

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

我們可以刪除gradle檔案中的applicationId這行,在defaultConfig 括弧裡面。

 
MyLibrary 工程就修改完了。 
然後我們在MyApplication 工程中匯入 
MyLibrary 作為一個module。 
在MyApplication 工程中, 點擊File -> New -> Import Module。 

出現一個對話方塊

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

如果在MyApplication工程中Module使用相同的名稱將會出現錯誤。為了從一個library工程匯入一個修改的Module,我們可以給它一個版本號碼在Module名稱設定框。

修改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!

匯入一個AndroidStudio工程作為一個Library Module

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.