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