Android-Studio多个项目添加依赖同一个模块

参考: https://stackoverflow.com/questions/16588064/how-do-i-add-a-library-project-to-android-studio

提示:
Eclipse工作空间(workspace) = Android Studio项目(Project)
Eclipse项目(Project) = Android Studio模块(Module)

Eclipse多个工作空间可以导入共享同一个项目(不勾选Copy projects into workspace);
然而Android Studio提供的import moudle直接导入模块,默认会复制一个副本模块到AS当前文件夹;
所以不能使用这个功能, 要通过配置Gradle来实现共享其它项目的模块!

实例

在ProjectB中如何使用ProjectA的模块moduleLib ?
D:/ProjectA/
    - moduleLib/
       - build.gradle
    - build.gradle
    - settings.gradle

D:/ProjectB/
    - app/
        - build.gradle
    - build.gradle
    - settings.gradle

方法一

1.在ProjectB/settings.gradle下,导入ProjectA的模块moduleLib
include ':moduleLib'
project(':moduleLib').projectDir = new File(settingsDir, '../ProjectA/moduleLib') // settingsDir是指settings.gradle文件目录
// project(':moduleLib').projectDir = new File('D:/ProjectA/moduleLib') // 绝对路径

2.在ProjectB/app/build.gradle下,添加依赖
dependencies {
    compile project(':moduleLib')
}

注: ..代表settingsDir目录的上一级目录

方法二

1.在ProjectB/settings.gradle下,导入ProjectA的所有模块
include ':ProjectA'    
project (':ProjectA').projectDir = new File('../ProjectA')
include ':ProjectA:moduleLib'

2.在ProjectB/app/build.gradle下,添加依赖
dependencies {
    compile project(':moduleLib')
}

方法三

1.在ProjectB/settings.gradle下,导入ProjectA的模块moduleLib
include ':..:ProjectA:moduleLib'

2.在ProjectB/app/build.gradle下,添加依赖
dependencies {        
    compile project(':..:ProjectA:moduleLib')
}

注:仅推荐方法一,因为方法二和三混杂Project和Model同时使用容易混乱!

简书: http://www.jianshu.com/p/47156a6be8ce
CSDN博客: http://blog.csdn.net/qq_32115439/article/details/76039327
GitHub博客: http://lioil.win/2017/07/24/Android-AS-moudle.html
Coding博客: http://c.lioil.win/2017/07/24/Android-AS-moudle.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,995评论 25 709
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,747评论 2 45
  • 非常喜欢安慰他人,是在受过伤以后,更是经历了那位至高的大医生医治以后。使人得安慰时,看到了神丰富的慈悲和怜悯...
    一心跟从阅读 4,235评论 0 0
  • 秋风萧瑟,北风呼啸而过。雨城的天气一直很美。 这样冷的天气,连雨城都可以叫做冻城了。 但是天气再冷,都没有岚的心冷...
    林徐奥阅读 1,436评论 1 1
  • 我要走了 明天吧 明天早上九点五十分的火车票 可是 你给过我的承诺怎么办 上个月你说要带我去看海 不知道你是玩笑还...
    林茨阅读 1,324评论 5 2

友情链接更多精彩内容