如何在模块的build.gradle中使用仓库而不是在顶层项目的build.gradle中使用?

3
例如,当我使用“ActiveAndroid”时,我必须执行两个步骤:
1)在我的项目的build.gradle(顶级build.gradle)中添加以下内容:
repositories {
    jcenter()
    // ActiveAndroid
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

2)在我的模块的build.gradle文件中添加:

compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'

我能在我的模块的 build.gradle 文件中添加仓库吗? 顺便说一下,当我这样做时,我得到了许多错误,无法成功构建。

2个回答

12

在根项目子句中包装后,这对我有用。

rootProject.allprojects {
    repositories {
        jcenter()
        mavenCentral()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    }
}

dependencies {
    compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
}

这并不太合理,因为在子项目的构建文件中应用的内容会配置其外部的其他项目。在顶层执行此操作比这更可取。但是可以添加筛选正确项目的功能,使其更加适当。 - Ostkontentitan

1

是的,你可以做到。

apply plugin: 'com.android.application'

repositories {
    jcenter()
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

dependencies {
    compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT' 
}

不要混淆 repositories 块和 buildscript 块内部的存储库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接