Android External Libraries中多余的各种support库

发布于 2022-09-07 20:00:56 字数 2854 浏览 15 评论 0

问题是这样发生的,我在项目中有用到RecycleView然后我就引入了他,但是gradle报错,具体的意思是:

  1. RecycleView的支持库的版本号和其他库不一致,找到了其他的版本号云云,应该使用一致的版本号来避免编译报错。
  2. 当前的RecycleView的版本号(28.x.x),高于编译版本号(26)。

我尝试着把RecycleView的版本号改成和当前编译版本相同的版本号,来修复上面的2号问题,但是之后的第一个问题还是存在,我尝试打开了 Android Studio 左侧栏的, External Libraries 查看到了不同的版本号,如下图:

clipboard.png

但是在我的build.gradle中根本没有导入这些支持库呀,难道是我依赖了其他的库,然后其他库依赖了这些库导致被引入的吗?

然后我尝试着将这些版本不一致的support库,一个一个的添加到build.gradle中,并且明确指定其版本号为26.1.0

    api "org.jetbrains.anko:anko:$anko_version"
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    //Rx系列
    api "io.reactivex.rxjava2:rxjava:$rxjava_version"
    api "io.reactivex.rxjava2:rxandroid:$rxandroid_version"

    //Retrofit框架 和 okhttp框架
    api "com.squareup.retrofit2:retrofit:$retrofit_version"
    api "com.squareup.retrofit2:converter-gson:$retrofit_version"

    //api "com.squareup.retrofit2:adapter-rxjava:$retrofit_version"
    api "com.squareup.retrofit2:adapter-rxjava2:$retrofit_version"

    //okHttp
    api "com.squareup.okhttp3:logging-interceptor:$okhttp_version"
    api "com.squareup.okhttp3:okhttp:$okhttp_version"

    //dagger2
    compile "com.google.dagger:dagger:$dagger2_version"
    kapt "com.google.dagger:dagger-compiler:$dagger2_version"

    //RxLifeCycle
    api "com.trello.rxlifecycle2:rxlifecycle-kotlin:$rx_lifecycle_version"
    api "com.trello.rxlifecycle2:rxlifecycle-components:$rx_lifecycle_version"

    //Glide
    api "com.github.bumptech.glide:glide:$glide_version"
    kapt "com.github.bumptech.glide:compiler:$glide_version"

    //由于导入支持库之后,版本不一致导致编译不通过。现在统一所有支持库的版本号一致为:26.1.0
    api "com.android.support:animated-vector-drawable:26.1.0"
    api "com.android.support:appcompat-v7:26.1.0"
    api "com.android.support:support-core-utils:26.1.0"
    api "com.android.support:support-annotations:26.1.0"
    api "com.android.support:support-compat:26.1.0"
    api "com.android.support:support-core-ui:26.1.0"
    api "com.android.support:support-fragment:26.1.0"
    api "com.android.support:support-v4:26.1.0"
    api "com.android.support:recyclerview-v7:26.1.0"

由于是用Android Studio 3.0.1在Deepin linux系统上操作的,当时我就没管了,今天来公司,用公司 Windows 10上面的Android Studio 3.3导入 之后这些不同版本号的库依旧存在于External Libraries中,每个库都有2分,而且版本号不一致。

clipboard.png

请问大佬们,怎么解决这个问题啊,我是多Module模式,使用的api方式引入, 会不会是这方面的问题? 求解!~~~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

后eg是否自 2022-09-14 20:00:56

在Gradle中强制指定依赖版本就行

configurations.all {
   resolutionStrategy {
       force 'com.android.support:recyclerview-v7:26.1.0'
   }
}
奶茶白久 2022-09-14 20:00:56

改成implementation

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文