【发布时间】:2015-08-28 03:15:50
【问题描述】:
首先,我解释一下我的项目设置。我使用 Android Studio 中使用的 Project/Module 一词。
我的项目设置如下:
-
LibraryProject => 一个仅对我的库进行分组的项目,如果需要,我会在其他项目中使用它
- BackupLibrary(模块)
- DatabseLibrary(模块)
- MainUtilityLibrary(模块)
- DialogLibrary(模块)
-
我的项目1
- 应用(项目)
- DialogLibrary(模块,引用自 DIRFFERENT 项目)
我的 Project1 现在如下所示:
1) 我从另一个项目中引用了我想使用的模块(在settings.gradle (Project Settings) 文件中完成:
include ':app'
include ':dialogLibrary '
project(':dialogLibrary ').projectDir = new File(settingsDir, '../LibraryProject/DialogLibrary ')
2) 我将外部库模块作为依赖项添加到我的应用程序的build.gradle:
dependencies {
compile project(':dialogLibrary ')
}
我的 LibraryProject 如下所示:
我将存储库和依赖项直接添加到模块的`build.gradle'(这足以毫无问题地自行构建模块):
allprojects {
repositories {
maven { url 'https://dl.bintray.com/drummer-aidan/maven' }
}
}
dependencies {
compile 'com.afollestad:material-dialogs:0.7.5.2'
}
问题
到目前为止的设置不适用于 MyProject1。我还必须将maven { url 'https://dl.bintray.com/drummer-aidan/maven' } 添加到 MyProject1,compile project(':dialogLibrary ') 还不够。我必须将应该以某种方式从 LibraryModule 继承的依赖项添加到 MyProject1 Project build.gradleagain ,如下所示:
allprojects {
repositories {
mavenCentral()
maven { url 'https://dl.bintray.com/drummer-aidan/maven' } // com.afollestad:material-dialogs
}
}
否则,我无法编译我的项目。这种方式似乎做了两次可能可以自动完成的事情。但是怎么做?这样,每当我从我的 LibraryProject 中包含一个模块时,我都必须检查是否需要额外的 maven repo...
【问题讨论】:
标签: android maven gradle dependencies