为什么 Android 支持库版本 22 不可用?

Why isn't Android Support Library version 22 available?

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

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

我也直接打开了Support Repository安装程序用的link https://dl.google.com/android/repository/addon.xml,果然没有列出22版的库!

这里有什么问题?

再次阅读您的问题和评论后,我明白了您的意思。 目前 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/.

一样工作

要获取最新版本的 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.+'
} 

另请参阅(文档)