Gradle依赖项更新

Dif*_*ffy 5 android gradle android-studio build.gradle android-gradle-plugin

在Android Studio中使用Gradle的一个优点是它有助于依赖管理.因此,如果我在我的build.gradle文件中使用了特定版本的库,那么一旦更高版本可用,我将如何强制它更新依赖版本?

我的build.gradle中的一些依赖项被指定为

dependencies {
    compile project(':facebookSDK')
    compile files('libs/picasso-2.1.1.jar')
    compile files('libs/crouton-1.8.1.jar')
}
Run Code Online (Sandbox Code Playgroud)

Com*_*are 10

在Android Studio中使用Gradle的一个优点是它有助于依赖管理.

不是你使用它的方式.

因此,如果我在build.gradle文件中使用了特定版本的库,那么一旦更高版本可用,我将如何强制它更新依赖版本?

在您的情况下,您将下载新的JAR,将它们放入libs/,并更新您build.gradle的匹配.

首选方法是删除这些JAR,并将这两个compile files语句替换为从Maven Central或其他工件存储库中下拉依赖项的语句.您可以找到适合流行的开源库的正确语句,例如通过Gradle,请访问网站.

在您的情况下,您将使用:

compile 'com.squareup.picasso:picasso:2.3.3'
compile 'de.keyboardsurfer.android.widget:crouton:1.8.5'
Run Code Online (Sandbox Code Playgroud)

这些将要求你有一个repositories闭包作为你的dependencies闭包的同伴:

repositories {
    mavenCentral()
}
Run Code Online (Sandbox Code Playgroud)

这可能已经存在.

这些compile语句仍然会引导您访问这些库的特定版本,但转移到新版本将是更新compile语句的简单问题,Gradle将在您的下一个版本中删除新的依赖项.

如果需要,可以使用通配符替换部分版本号(例如,2.3.+).在这种情况下,这将导致Gradle自动更新到库的新补丁级别.一些开发人员不赞成这种方法,因为它很方便,但它确实降低了你能够重现构建的能力(例如,你需要重新编译代码的一些旧分支,现在你不知道什么版本然后你正在使用的神器).