【问题标题】:Why isn't Android Support Library version 22 available?为什么 Android 支持库版本 22 不可用?
【发布时间】:2015-03-10 19:53:48
【问题描述】:

今天我注意到 Android API 22 可用,因此我将应用的目标 SDK 更改为 22。当我这样做时,Gradle 开始抱怨支持库的版本不能低于目标 SDK 版本。

我检查了Support Library revisions link,它确实显示“v4 支持库”和“v7 appcompat 库”的第 22 版已经发布。所以,我也在 build.gradle 文件中提高了他们的版本。 Gradle 然后建议我安装“Android Support Repository”。我已经安装了它,但我又安装了它; Gradle 继续抱怨。当我检查${android_home}/extras/android/m2repository/support-v4时,它确实没有22.0.0版本的文件夹。

我还直接打开了 Support Repository 安装程序使用的链接https://dl.google.com/android/repository/addon.xml,它确实没有列出版本 22 的库!

这里有什么问题?

【问题讨论】:

  • 再检查一下,我正在下载。
  • 再次下载。我看没有变化。 :(
  • 你下载到哪里了?也许不同的地方
  • 位置,正如我之前提到的,是${android_home}/extras/android/m2repository。我还尝试删除该文件夹,并在运行安装程序时重新创建它。此外,我从 SDK Manger 中卸载了“Android 支持库”并重新安装。
  • 我认为我们必须等待,他们会来更新。

标签: android android-studio android-gradle-plugin


【解决方案1】:

再次阅读您的问题和 cmets 后,我明白您想说什么。 目前 SDK Manager 没有支持 v22。

可以下载 API 22,但您不能看到 support-v4。顺便说一句,“${android_home}/extras/android/m2repository/support-v4”是错误的目录。

正确的目录是:“${android_home}/extras/android/m2repository/com/android/support/support-v4”。

另外,您必须从您的build.gradle 下载它,例如:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22 // <-- You need this
    buildToolsVersion '22.0.0' // <-- You need this

    defaultConfig {
        applicationId 'burrows.apps.example.admob'
        minSdkVersion 9
        targetSdkVersion 22 // <-- You need this
        versionCode 1
        versionName '1.0'
    }

    signingConfigs {
        debug {
            storeFile rootProject.file('debug.keystore')
            storePassword 'android'
            keyAlias 'androiddebugkey'
            keyPassword 'android'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    dexOptions {
        preDexLibraries = Boolean.valueOf(System.getProperty("pre-dex", "true"))
    }

    lintOptions {
        abortOnError false
    }
}

dependencies {
    compile project(':Lib-BurrowsApps')
    compile 'com.android.support:support-v4:22.0.0' // <-- You need this
    compile 'com.google.android.gms:play-services-ads:6.5.87'
}

来源:https://github.com/jaredsburrows/BurrowsAppsExamples/blob/master/Lib-BurrowsApps/build.gradle

Google 的 m2repository 与普通的 ~/.m2/repository/ 一样工作。

【讨论】:

  • 糟糕,我提到了不正确的目录。很抱歉让其他人感到困惑。
  • 我已按照您在此处的建议更新了构建文件,但在依赖项中使用版本 21.0.3 导致 Gradle 抛出错误。目前我使用//noinspection GradleCompatible 抑制了这一点。
  • @AppleGrew 我会在图书馆出来后立即更新这篇文章。
  • @AppleGrew 继续通过 SDK 管理器进行更新。支持库的新版本已发布。
【解决方案2】:

要获取最新版本的 Android 支持库,我可以执行以下操作:

  1. 在 SDK 管理器中安装所有最新的东西
  2. 检查 the latest revision 是什么(撰写本文时为 22.1.0)
  3. 相应地更新 build.gradle 的 dependencies 部分

build.gradle

dependencies {
    ...
    compile 'com.android.support:support-v4:22.1.+'
} 

另见(文档)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 2020-06-10
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多