android - 更新 gradle 问题后依赖

标签 android gradle

我限制使用 编译SDK版本22 buildTools版本“22.0.1” minSdkVersion 11 targetSdk版本15

我的项目在 gradle 版本 2.1.3 和以下依赖项下运行良好:

compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
compile 'com.android.support:recyclerview-v7:+'
compile 'com.android.support:cardview-v7:22.2.1'
compile 'com.prolificinteractive:material-calendarview:1.2.0'
compile 'com.weiwangcn.betterspinner:library-material:1.1.0'
compile 'com.google.android.gms:play-services-appindexing:8.4.0'
compile 'commons-codec:commons-codec:1.10'
compile 'commons-io:commons-io:2.4'

然后,我更新了我的 Android studio gradle 最新版本,然后我在项目的很多地方发现了依赖问题:

java.lang.NoSuchMethodError: No static method getMatrix(Landroid/view/View;)Landroid/graphics/Matrix; in class Landroid/support/v4/view/ViewCompat; or its super classes (declaration of 'android.support.v4.view.ViewCompat' appears in /data/data/demo.com.android/files/instant-run/dex/slice-com.android.support-support-v4-23.1.1_b118207f54cef84c624be0e78fdf67db32a9749a-classes.dex) at android.support.v7.widget.RecyclerView$LayoutManager.getTransformedBoundingBox(RecyclerView.java:8097) at android.support.v7.widget.OrientationHelper$2.getTransformedEndWithDecoration(OrientationHelper.java:402) at android.support.v7.widget.LinearLayoutManager.recycleViewsFromStart(LinearLayoutManager.java:1275) at android.support.v7.widget.LinearLayoutManager.recycleByLayoutState(LinearLayoutManager.java:1347) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1371) at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1193) at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1043) at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1596) at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2704)

然后我用旧版本 (2.1.3) 降级了我的 Gradle 版本。但是我的项目中仍然存在相同的依赖性问题。我的项目的依赖树如下所示:

 +--- com.android.support:appcompat-v7:22.2.1
 |    \--- com.android.support:support-v4:22.2.1 -> 23.1.1
 |         \--- com.android.support:support-annotations:23.1.1 -> 24.2.0
 +--- com.android.support:design:22.2.1
 |    +--- com.android.support:appcompat-v7:22.2.1 (*)
 |    \--- com.android.support:support-v4:22.2.1 -> 23.1.1 (*)
 +--- com.android.support:recyclerview-v7:+ -> 24.2.0
 |    +--- com.android.support:support-compat:24.2.0
 |    |    \--- com.android.support:support-annotations:24.2.0
 |    +--- com.android.support:support-annotations:24.2.0
 |    \--- com.android.support:support-core-ui:24.2.0
 |         \--- com.android.support:support-compat:24.2.0 (*)
 +--- com.android.support:cardview-v7:22.2.1
 +--- com.prolificinteractive:material-calendarview:1.2.0
 |    \--- com.android.support:support-v4:23.1.1 (*)
 +--- com.weiwangcn.betterspinner:library-material:1.1.0
 |    +--- com.android.support:appcompat-v7:22.1.1 -> 22.2.1 (*)
 |    \--- com.rengwuxian.materialedittext:library:2.0.3
 |         +--- com.android.support:support-annotations:21.0.3 -> 24.2.0
 |         +--- com.nineoldandroids:library:2.4.0
 |         \--- com.android.support:appcompat-v7:21.0.3 -> 22.2.1 (*)
 +--- com.google.android.gms:play-services-appindexing:8.4.0
 |    \--- com.google.android.gms:play-services-base:8.4.0
 |         \--- com.google.android.gms:play-services-basement:8.4.0
 |              \--- com.android.support:support-v4:23.0.0 -> 23.1.1 (*)
 +--- commons-codec:commons-codec:1.10
 \--- commons-io:commons-io:2.4

请帮我解决这个问题

最佳答案

为什么使用RecyclerView的最新版本? 也许您应该指明版本 22.2.1

compile 'com.android.support:recyclerview-v7:22.2.1'

关于android - 更新 gradle 问题后依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39599724/

相关文章:

android - 如何始终在 ActionBar 上显示 Android 设置按钮?

docker - Corda Dockerform Gradle任务无法按预期工作

java - 如何将任务添加到 gradle 中的主要 'build' 任务

android - 在 Activity 和 BroadcastReceiver 之间进行通信的正确方法是什么?

android - 如何获取谷歌地图的生产 key ?

android - 是否存在 firebase 实时数据库服务器日志?

java - 在android NDK的java类中调用C函数

Gradle 引用了 jar,但它们不在 POM 中,也不在代码链接中

java - 如何通过 Gradle 将 ojdbc7 添加到 Java Web 应用程序?

maven - 比较Maven和Gradle