Android studio 項目(Project)依賴(非Module)

Android studio 項目(Project)依賴(非Module)

0. 前言

對於Module 級別的依賴你們都知道,今天說下Android Studio下的項目依賴。
場景: A Project 想依賴 B Project下的 b library。
方法一: 直接將b Library拷貝到A項目裏。
方法二: 經過項目依賴,直接引用b Library。模塊化

1. 項目依賴的好處

更符合模塊化的思想,被依賴的項目不須要任何的改動,他們相互獨立。
一個項目持有另外一個項目的引用,無需任何修改,基於配置,修改更加方便。
特別是兩個項目在不一樣的版本控制中,項目依賴更方便。gradle

也有人說能夠發佈到jCenterjitpack,可是不是全部的項目都會開源,實際上大部分項目都不會開源。對於閉源項目更好,並且你在被依賴的項目後只須要同步一下便可同步使用。版本控制

2. 操做步驟

被依賴的項目 BProjectBProject/blibrary不須要任何改動!code

1. 在須要使用的項目中的settings.gradle添加配置

include ':BProject'
project(':BProject').projectDir = new File(settingsDir,'../../BProject/')
include ':BProject:blibrary'

2. 在須要使用的項目中的Module中添加須要引入的library

dependencies {
    ...
    compile project(path: ':BProject:blibrary')
    ...
}

還沒完,下面纔是重點!ci

配置完第三點同步項目便可。同步

3. 設置正確的被依賴的項目路徑

project(':BProject').projectDir = new File(settingsDir,'../../BProject/')

其中 new File(settingsDir,'../../BProject/')
參數說明:it

參數一: settingsDir 指的是相對於 settings.gradle 文件所在路徑
參數二: 填寫被依賴項目的路徑,**../**表示上級目錄,因此根據本身的路徑修改

3. 坑(注意)

若是你不當心填錯了被依賴項目的路徑,並且還點了同步項目。那麼可能會在 A Project 的Project和Module 目錄下生成相似 xxx_xxx.iml 的文件,若是異常文件存在,後面就算你的路徑配置正確也可能同步不成功,不斷的提示錯誤。這是你只須要刪除上敘文件同步項目便可。(博主屢次出錯後發現的=。=)io

相關文章
相關標籤/搜索