【问题标题】:Gradle not using latest version of the support library?Gradle 没有使用最新版本的支持库?
【发布时间】:2023-03-06 16:34:01
【问题描述】:

我一直在使用android.support.v7.widget 包——特别是RecyclerView 类(除其他外,这就是问题所在)。

直到今天早些时候它都运行良好,现在似乎随机默认为早期版本的软件包。我这么说是因为:

  1. 当我尝试调用myRecyclerView.addOnScrollListener(myScrollListener)myRecyclerView.getChildAdapterPosition(myView) 等时,Android Studio 给出了编译错误Cannot resolve method ...
  2. 如果我将其更改为myRecyclerView.setOnScrollListener(myScrollListener)(即使用set 而不是add),它可以正常工作并且不会显示已弃用的错误,因为该方法已被弃用。

我不知道为什么它在我之前一直在使用并且能够使用这些方法进行编译时现在显示错误 - 似乎它使用的是早期版本的 android.support.v7.widget 库但我不知道为什么会或如何解决它...

编辑:我的 build.gradle:

apply plugin: 'com.android.application'

android {
compileSdkVersion 21
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "com.myapp.app"
    minSdkVersion 15
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

repositories {
    mavenCentral()
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.android.support:support-v4:21.0.3'

compile 'com.balysv:material-ripple:1.0.2'

compile 'com.facebook.android:facebook-android-sdk:4.1.0'

compile 'com.github.castorflex.smoothprogressbar:library-circular:1.0.1'

compile 'com.github.rey5137:material:1.1.1'
compile 'com.android.support:design:22.2.0'

compile 'com.joooonho:selectableroundedimageview:1.0.1'

compile 'com.rengwuxian.materialedittext:library:2.1.3'

}

【问题讨论】:

  • 这并不是真正的 Android Studio 决定的。决定您的库版本的是您的 gradle 构建文件。您的支持库的 gradle 文件中有什么。
  • 新的android v7支持是22.2.0,你可以从dependencies更改它
  • 我有一些自定义依赖项,v7:21.0.3 appcompat 库和 v4:21.0.3 支持库。 (如果你愿意,我可以添加截图)
  • 通过添加依赖'com.github.gabrielemariotti.cards:cardslib-recyclerview:2.1.0',实际上是添加了recyclerview 依赖。看看:github.com/gabrielemariotti/cardslib/blob/master/…
  • cardslib-recyclerview 2.1.0 使用compile 'com.android.support:recyclerview-v7:22.1.1'

标签: android android-studio gradle android-support-library android-recyclerview


【解决方案1】:

我不确定,你怎么能导入它,但是如果你想使用RecyclerView,你需要添加它的依赖,即编译'com.android.support:recyclerview-v7:22.2.0'

我看不到您是否已将 RecyclerView 依赖项添加到您的 gradle 脚本中。另外,请记住,它不附带 appcompat 包。

【讨论】:

  • 有可能,如果依赖项使用了 RecyclerView。
  • @GabrieleMariotti 嗯,这是可能的。但是依赖关系列表,他在他的问题中发布的脚本中,我没有看到任何依赖关系有 RecyclerView。所以...
  • @rekire 谢谢,用最新版本编辑! ;-)
猜你喜欢
  • 2022-07-19
  • 1970-01-01
  • 1970-01-01
  • 2018-03-09
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 2017-08-21
相关资源
最近更新 更多