對於Module 級別的依賴你們都知道,今天說下Android Studio下的項目依賴。
場景: A Project 想依賴 B Project下的 b library。
方法一: 直接將b Library拷貝到A項目裏。
方法二: 經過項目依賴,直接引用b Library。模塊化
更符合模塊化的思想,被依賴的項目不須要任何的改動,他們相互獨立。
一個項目持有另外一個項目的引用,無需任何修改,基於配置,修改更加方便。
特別是兩個項目在不一樣的版本控制中,項目依賴更方便。gradle
也有人說能夠發佈到jCenter
和jitpack
,可是不是全部的項目都會開源,實際上大部分項目都不會開源。對於閉源項目更好,並且你在被依賴的項目後只須要同步一下便可同步使用。版本控制
被依賴的項目 BProject
與BProject/blibrary
不須要任何改動!code
settings.gradle
添加配置include ':BProject' project(':BProject').projectDir = new File(settingsDir,'../../BProject/') include ':BProject:blibrary'
Module
中添加須要引入的librarydependencies { ... compile project(path: ':BProject:blibrary') ... }
還沒完,下面纔是重點!ci
配置完第三點同步項目便可。同步
project(':BProject').projectDir = new File(settingsDir,'../../BProject/')
其中 new File(settingsDir,'../../BProject/')
參數說明:it
參數一: settingsDir 指的是相對於 settings.gradle 文件所在路徑 參數二: 填寫被依賴項目的路徑,**../**表示上級目錄,因此根據本身的路徑修改
若是你不當心填錯了被依賴項目的路徑,並且還點了同步項目。那麼可能會在 A Project 的Project和Module 目錄下生成相似 xxx_xxx.iml 的文件,若是異常文件存在,後面就算你的路徑配置正確也可能同步不成功,不斷的提示錯誤。這是你只須要刪除上敘文件同步項目便可。(博主屢次出錯後發現的=。=)io