【问题标题】:Support libraries version issue支持库版本问题
【发布时间】:2017-10-09 16:36:25
【问题描述】:

我正在尝试从 github 导入一个项目。以下是我正在使用的依赖项

dependencies {
provided 'com.google.android.wearable:wearable:2.0.3'

compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support:animated-vector-drawable:26.+'

compile 'com.android.support:design:26.+'
compile 'com.android.support:leanback-v17:26.+'
compile 'com.android.support:cardview-v7:26.+'
compile 'com.google.android.gms:play-services-cast-framework:11.0.1'
compile 'com.google.android.exoplayer:exoplayer:r2.5.0'
compile 'com.google.android.support:wearable:2.0.3'
compile 'com.android.support:mediarouter-v7:26.+'
compile 'com.google.android.gms:play-services-cast-framework:11.0.1'

testCompile 'org.mockito:mockito-core:1.10.19'
testCompile 'junit:junit:4.12'

androidTestCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
androidTestCompile 'com.android.support:support-annotations:26.+'
}

但我面临以下错误

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 26.0.0-alpha1, 25.2.0. 

示例包括com.android.support:animated-vector-drawable:26.0.0-alpha1com.android.support:percent:25.2.0

可以看出我正在使用具有所有依赖项的相同库版本,但不知道为什么会出现此错误?我错过了什么?正如在stackoverflow的其他线程中所建议的那样,我放置了相同的库版本。有什么帮助吗?

编辑

下面是一些重新分级 gradle 文件的更多信息

android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
    applicationId "com.example.android.uamp"
    minSdkVersion 17
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}

当我尝试使用以下命令查看使用什么版本的库时(正如在堆栈溢出的一个线程中建议的那样),它显示“在根项目中找不到任务应用程序

gradlew -q dependencies app --configuration compile

【问题讨论】:

  • 您的第 3 方库之一可能在其中包含另一个库作为依赖项。其中它使用的版本与您指定的版本不同。
  • 我也是这么想的。但是我该如何解决呢?
  • 您可以定位与他们指定的版本相同的版本,删除他们的库,或者尝试获取针对相同版本的库的更新版本。顺便说一句,不建议在库版本中使用 +。
  • 首先你必须检查它是否真的来自其他 3rd 库,在此之前尝试清理代码,删除 .build 文件并重建应用程序。如果仍然有错误,您必须尝试将第三个库一个一个删除并检查。如果是第 3 个库问题,那么您必须找到新的库,或者如果库有新版本,则升级它。

标签: android


【解决方案1】:
  1. 运行:

gradlew 应用程序:依赖项

从您的项目目录中。

  1. 验证哪个依赖项使用的是旧版本的com.android.support:animated-vector-drawable

  2. 显式添加:

编译'com.android.support:animated-vector-drawable:26.0.0-alpha1'

在您的 build.gradle 以及您的其他依赖项中以及在使用旧版本的库之后

percent 库也是如此。

这是很常见的问题。就个人而言,我在导入 Facebook SDK 库时遇到了类似的问题。

【讨论】:

    【解决方案2】:

    在花了好几个小时后,我终于解决了我的问题。发布我的答案可能对其他人有所帮助。正如错误中所建议的,我添加了更新的库版本,如下所述。错误是说

    com.android.support:animated-vector-drawable:26.0.0-alpha1
    com.android.support:percent:25.2.0
    

    我用下面的代码替换上面的代码,这对我有用

      compile 'com.android.support:design:26.+'
      compile 'com.android.support:percent:26.+'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多