如何在Android Studio中制作两个不同的模块,通过Gradle使用同一个库的不同版本

时间:2016-05-09 11:44:58

标签: android gradle

我的Android应用中有两个模块:applibraryapp取决于library

library我想使用AndroidAnnotations 4.0.0

app我希望当前使用AndroidAnnotations 3.2.2,因为将其升级到4.0.0需要进行大量更改,因为他们已经对其进行了大量修改,而且我没有#&# 39;现在没时间做这件事。

但是,自从我将library升级为使用AndroidAnnotations 4.0.0后,AndroidAnnotationsapp的使用行为与版本4相同,而不是版本3,这使我认为Gradle非常聪明,并且忽略了app的版本3,并且正在使用版本4用于两个模块。

如何在gradle中强制使用两个不同版本的依赖项?

1 个答案:

答案 0 :(得分:0)

使用force命令

强制使用依赖版本

build.gradle(APP):

dependencies {
    compile ('com.squareup.okhttp:okhttp:2.4.0') {
        force = true
    }
    ...
}

build.gradle(库):

    dependencies {
    compile 'com.squareup.okhttp:okhttp:2.3.0'
    ...
}

如果链接无效,请摘录文档:

  

允许强制某些版本的依赖项,包括传递   依赖。添加新的强制模块时要考虑   解决依赖关系。

     

它接受以下注释:

String in a format of: 'group:name:version', for example: 'org.gradle:gradle-core:1.0'
instance of ModuleVersionSelector
any collection or array of above will be automatically flattened