对于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