Gradle 没有使用最新版本的支持库?
Gradle not using latest version of the support library?
我一直在使用 android.support.v7.widget
软件包——特别是 RecyclerView
class(等等,但这就是问题所在)。
直到今天早些时候它都运行良好,现在似乎随机默认为该软件包的早期版本。我这么说是因为:
- 当我尝试调用
myRecyclerView.addOnScrollListener(myScrollListener)
、myRecyclerView.getChildAdapterPosition(myView)
等 Android Studio 给出编译错误 Cannot resolve method ...
.
- 如果我将其更改为
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'
}
我不确定,你是如何导入它的,但是如果你想使用 RecyclerView,你需要添加它的依赖项,即编译 'com.android.support:recyclerview-v7:22.2.0'
我没有看到您是否已将 RecyclerView
依赖项添加到 gradle 脚本。另外,请记住,它不包含 appcompat 包。
我一直在使用 android.support.v7.widget
软件包——特别是 RecyclerView
class(等等,但这就是问题所在)。
直到今天早些时候它都运行良好,现在似乎随机默认为该软件包的早期版本。我这么说是因为:
- 当我尝试调用
myRecyclerView.addOnScrollListener(myScrollListener)
、myRecyclerView.getChildAdapterPosition(myView)
等 Android Studio 给出编译错误Cannot resolve method ...
. - 如果我将其更改为
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'
}
我不确定,你是如何导入它的,但是如果你想使用 RecyclerView,你需要添加它的依赖项,即编译 'com.android.support:recyclerview-v7:22.2.0'
我没有看到您是否已将 RecyclerView
依赖项添加到 gradle 脚本。另外,请记住,它不包含 appcompat 包。