当前位置: 首页 > 知识库问答 >
问题:

Android:强制gradle只包含库的一个版本

尉迟卓
2023-03-14

我在build.gradle中使用了'com.android.support:support-v4:23.3.0',但在探索外部库时,我看到了两个版本的support-v4库(23.3.0和24.0.0)。我如何找到哪个依赖项使用了Support-V4:24.0.0库?我如何强制gradle只添加23.3.0版本?

这是我在build.gradle中的依赖项列表:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.android.support:support-v4:23.3.0'
    compile 'com.android.support:design:23.3.0'
    compile 'com.android.support:recyclerview-v7:23.3.0'
    compile 'com.android.support:cardview-v7:23.3.0'
    compile ('com.nightonke:wowoviewpager:1.0.2') {
        exclude group: 'com.android.support', module:'support-v4'
    }
    compile ('com.j256.ormlite:ormlite-android:5.0'){
        exclude group: 'com.android.support', module:'support-v4'
    }
    compile files('libs/picasso-2.5.2.jar')
    compile files('libs/easyandroidanimationslibrary-v0.5.jar')
    compile files('libs/apache-httpcomponents-httpclient.jar')
    compile files('libs/apache-httpcomponents-httpcore.jar')
    compile 'co.ronash.android:pushe-base:1.2.0'
    compile 'com.google.android.gms:play-services-gcm:9.4.0'
    compile('com.github.ozodrukh:CircularReveal:2.0.1@aar') {
        transitive = true;
    }
    compile files('libs/btsdk.jar')
    compile project(':zxing_barcode') // this project include the same version of support-v4 library
    compile project(':cropper')// this project include the same version of support-v4 library
    compile project(':taptargetview')// this project include the same version of support-v4 library
    compile ('me.cheshmak:analytics:1.0.28'){
        exclude group: 'com.android.support', module:'support-v4'
    }
    compile 'com.github.siyamed:android-shape-imageview:0.9.3@aar'
    compile ('com.github.rey5137:material:1.2.2'){
        exclude group: 'com.android.support', module:'support-v4'
    }
    compile ('jp.wasabeef:recyclerview-animators:2.2.3'){
        exclude group: 'com.android.support', module:'support-v4'
    }
    compile ('com.github.deano2390:MaterialShowcaseView:1.1.0@aar'){
        exclude group: 'com.android.support', module:'support-v4'
    }
    compile 'org.greenrobot:eventbus:3.0.0'
    compile 'com.google.code.gson:gson:2.4'
    compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
        transitive = true;
    }
    compile('com.crashlytics.sdk.android:answers:1.3.11@aar') {
        transitive = true;
    }

    compile ('cat.ereza:customactivityoncrash:1.5.0'){
        exclude group: 'com.android.support', module:'support-v4'
    }
}

我使用exclude group:'com.android.support',module:'support-v4'来避免其他人添加支持库但未发生任何更改。

共有1个答案

牛越
2023-03-14

我无法添加评论,所以我链接到这里:

https://stackoverflow.com/A/37357786/3442734

使用:

configurations.all { 
    resolutionStrategy.force 'com.android.support:support-v4:24.0.0'
}
 类似资料:
  • 我有一个定制的android库发布到我的本地maven存储库,其构建如下。Gradle: 注意:由于库中的类丢失,这一定不仅仅是传递依赖关系的问题,所以这个解决方案不起作用。我希望从maven获取这个库,所以不能像这里那样在本地提供它(而且这对传递依赖关系也没有帮助)。

  • 问题内容: 我想制作一个包含可绘制资源文件的Android库。但是我想知道库的资源ID是否可能与应用程序资源ID冲突。有可能建立这样的图书馆吗? 问题答案: 这正是 Android Library Projects 的主要思想,即在项目之间共享代码和资源。 Android库项目是一个开发项目,其中包含共享的Android源代码和资源。其他Android应用程序项目可以引用该库项目,并且在构建时将其

  • 我想做一个Android库,其中包含可绘制的资源文件。但我想知道库的资源ID是否可能与应用程序的资源ID冲突。有可能做这样的图书馆吗?

  • 我无法使用Gradle强制生成依赖项的版本。我的目标是使用0.20.0版本。发布了Spring HATEOAS库的,但尽管我付出了所有的努力,它仍然解析为0.19.0。释放。 我尝试了许多策略,包括孤立的策略和相互结合的策略。这些策略包括但可能不限于以下策略(请注意,在所有情况下都在文件中定义,该文件位于声明Spring HATEOAS依赖项的模块目录的父目录中): #1(在声明依赖关系的模块的b

  • 我在GitHub包注册表上托管了一个Maven包。 每当我对包进行更新时,我都会运行来发布更改,但是如果我只是在依赖的应用程序上运行,它似乎不会安装包的最新版本(不确定是否与这个问题相关,所以我删除了它,但是可以在前面问题的链接中看到它)。 我在另一个依赖者中使用该包的最新快照版本时遇到了类似的问题,该依赖者使用Maven作为包管理器/构建工具,而不是Gradle。通过在Maven设置中选中“始终

  • 我正在尝试运行我的项目,它运行没有任何问题,但在我更新Android Studio后…我有一个错误,我不知道我使用了哪个android studio版本之前,更新降级到它。 Android Gradle插件只支持Kotlin Gradle插件1.3.0及更高版本。以下依赖项不满足所需版本:项目':assets_audio_player'->org.jetbrains.kotlin:kotlin-g