Android studio 項目(Project)依賴(非Module)
0. 前言
對於Module 級別的依賴大家都知道,今天說下Android Studio下的項目依賴。
場景: A Project 想依賴 B Project下的 b library。
方法一: 直接將b Library拷貝到A項目里。
方法二: 通過項目依賴,直接引用b Library。
1. 項目依賴的好處
更符合模塊化的思想,被依賴的項目不需要任何的改動,他們相互獨立。
一個項目持有另一個項目的引用,無需任何修改,基於配置,修改更加方便。
特別是兩個項目在不同的版本控制中,項目依賴更方便。
也有人說可以發布到jCenter
和jitpack
,但是不是所有的項目都會開源,實際上大部分項目都不會開源。對於閉源項目更好,而且你在被依賴的項目后只需要同步一下即可同步使用。
2. 操作步驟
被依賴的項目 BProject
與BProject/blibrary
不需要任何改動!
1. 在需要使用的項目中的settings.gradle
添加配置
include ':BProject'
project(':BProject').projectDir = new File(settingsDir,'../../BProject/')
include ':BProject:blibrary'
2. 在需要使用的項目中的Module
中添加需要引入的library
dependencies {
...
compile project(path: ':BProject:blibrary')
...
}
還沒完,下面才是重點!
配置完第三點同步項目即可。
3. 設置正確的被依賴的項目路徑
project(':BProject').projectDir = new File(settingsDir,'../../BProject/')
其中 new File(settingsDir,'../../BProject/')
參數說明:
參數一: settingsDir 指的是相對於 settings.gradle 文件所在路徑
參數二: 填寫被依賴項目的路徑,**../**表示上級目錄,所以根據自己的路徑修改
3. 坑(注意)
如果你不小心填錯了被依賴項目的路徑,而且還點了同步項目。那么可能會在 A Project 的Project和Module 目錄下生成類似 xxx_xxx.iml 的文件,如果異常文件存在,后面就算你的路徑配置正確也可能同步不成功,不斷的提示錯誤。這是你只需要刪除上敘文件同步項目即可。(博主多次出錯后發現的=。=)