Android studio 项目(Project)依赖(非Module)

Android studio 项目(Project)依赖(非Module)

0. 前言

对于Module 级别的依赖大家都知道,今天说下Android Studio下的项目依赖。
场景: A Project 想依赖 B Project下的 b library。
方法一: 直接将b Library拷贝到A项目里。
方法二: 通过项目依赖,直接引用b Library。

1. 项目依赖的好处

更符合模块化的思想,被依赖的项目不需要任何的改动,他们相互独立。
一个项目持有另一个项目的引用,无需任何修改,基于配置,修改更加方便。
特别是两个项目在不同的版本控制中,项目依赖更方便。

也有人说可以发布到jCenterjitpack,但是不是所有的项目都会开源,实际上大部分项目都不会开源。对于闭源项目更好,而且你在被依赖的项目后只需要同步一下即可同步使用。

2. 操作步骤

被依赖的项目 BProjectBProject/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 的文件,如果异常文件存在,后面就算你的路径配置正确也可能同步不成功,不断的提示错误。这是你只需要删除上叙文件同步项目即可。(博主多次出错后发现的=。=)

    原文作者:didikee
    原文地址: https://segmentfault.com/a/1190000012116970
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞