導(dǎo)入一個(gè)AndroidStudio工程作為一個(gè)Library Module

在我們有兩個(gè)Android Studio工程的情況時(shí),我們想使用一個(gè)作為library工程導(dǎo)入到另一個(gè)工程作為一個(gè)module。我們可以使用Android Studio很容易的做到。
讓我們假設(shè)我們有兩個(gè)工程:MyApplication和MyLibrary,我們想導(dǎo)入MyLibrary到MyApplication作為一個(gè)module。

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

注意builde.gradle文件的plugin是‘com.android.application’。為了使用這個(gè)工程作為一個(gè)library工程,我們需要修改為 ‘com.android.library’。文件的內(nèi)容就像這樣:

試著sync一下工程,會(huì)出現(xiàn)一個(gè)錯(cuò)誤: Library projects cannot set applicationId(類工程不能設(shè)置applicationId)。

我們可以刪除gradle文件中的applicationId這行,在defaultConfig 括號(hào)里面。

MyLibrary 工程就修改完了。

2.然后我們?cè)贛yApplication 工程中導(dǎo)入 MyLibrary 作為一個(gè)module。 在MyApplication 工程中, 點(diǎn)擊File -> New -> Import Module。

出現(xiàn)一個(gè)對(duì)話框

從MyLibrary工程中找到你想要導(dǎo)入的Module目錄。通常它是app module除非你給了它另一個(gè)名稱。

如果在MyApplication工程中Module使用相同的名稱將會(huì)出現(xiàn)錯(cuò)誤。為了從一個(gè)library工程導(dǎo)入一個(gè)修改的Module,我們可以給它一個(gè)版本號(hào)在Module名稱設(shè)置框。

修改Module的名稱為my-library,導(dǎo)入成功。

到這一步差不多已經(jīng)完成,最后一步是在MyApplication 工程中修改依賴。 很多人會(huì)忘了做這一步。
打開工程結(jié)構(gòu)對(duì)話框,選擇app Module(可以有別的名稱),在右側(cè)點(diǎn)擊依賴標(biāo)簽。


找到加號(hào)并點(diǎn)擊它,從彈出菜單中選擇module依賴。

然后選擇我們剛從MyLibrary工程中導(dǎo)入的library module。

點(diǎn)擊OK,就完成了。
IDE會(huì)在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‘)
}

它可能工作的挺好,但這有一個(gè)很重要的問(wèn)題,MyLibrary工程有它自己的依賴。例如,MyApplication和MyLibrary使用support libraries,這有可能會(huì)發(fā)生沖突。
我們可以在gradle中通過(guò)transitive配置依賴避免這個(gè)問(wèn)題。 我們可以修改這行
compile project(‘:my-library‘)

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

這個(gè)問(wèn)題就可以避免。Done!

That’s all. Happy coding!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容