Android studio Gradle项目范围依赖

时间:2015-07-24 07:25:34

标签: android gradle module dependencies project

我有多个模块,每个模块使用完全相同的依赖项。因为在所有build.gradle文件(版本更新等)中维护该依赖项很烦人,我想在项目build.gradle中使用它。这可能吗?

我试图:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'          
        compile 'joda-time:joda-time:2.8.1'
    }
}
allprojects {
    repositories {
        jcenter()
    }
}

但这并不起作用,因为gradle似乎无法找到用于编译的DSL。请问还有其他方法吗?

谢谢

3 个答案:

答案 0 :(得分:2)

它被称为在gradle中集中支持库依赖项。使用多模块项目,集中依赖项非常有用,尤其是支持库。

http://gmariotti.blogspot.in/2015/07/how-to-centralize-support-libraries.html

答案 1 :(得分:0)

如果我错了,请纠正我,但内部版本中的内容是构建的依赖项。

当我生成项目build.gradle时,请注意:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.1.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

所以不,你不能在这里为你的所有模块添加依赖项,但也许有一个插件。

答案 2 :(得分:0)

您无法集中所有(子)项目的依赖项,但很容易集中版本号。在根目录的build.gradle中添加以下内容:

ext {
    jodaTimeVersion = '2.8.1'
}

build.gradle需要Joda-Time的模块中添加这个(注意双引号):

dependencies {
    compile "joda-time:joda-time:${jodaTimeVersion}"
}