Android Студия Gradle не составляет указанную версию

? Thahzan Mohomed @ | Original: StackOverFlow
---

Я разработке этой небольшой проект на несколько дней сейчас, но внезапно на сегодняшний день, Android Студия начал давать мне эту ошибку

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 14 declared in library com.android.support:support-v4:21.0.0-rc1

Я понял, что это потому, что он пытается скомпилировать библиотеку Android -L. Версия, которую я хочу, чтобы это компиляциястарая версия, но она не будет. Он держит не давая мне ошибку выше независимо от того, какая версия войти. Вот зависимостей .

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:20.+'
    compile 'com.android.support:support-v4:20.+'
}

UPDATE

Я только что установил Android Студия Beta и изменил мои зависимостей в одном Евгений предлагаемых ниже . Но синхронизация проект дает ту же ошибку независимо от того, какая версия AppCompat, поддерживают версию указанный мной . Это дает эту ошибку каждый раз, когда я синхронизации

uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1

Мои обновленные зависимости

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
    compile 'com.android.support:support-v4:19.+'
}

UPDATE 2

Я не думаю, я понимаю систему зависимостей Android Студия правильно . Я только что удалили как AppCompat и поддержку от зависимостей и она по-прежнему дает мне ту же ошибку . У меня есть, чтобы удалить, первоначально включенных в библиотеки откуда-то ?

build.gradle

* примечание - я в снова добавил эти две библиотеки и попытался синхронизации, на всякий случай . Но не chenges .

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        applicationId "taz.starz.footynews"
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
    compile 'com.android.support:support-v4:19.+'
    compile project(':ParallaxScroll')
    compile files('src/main/libs/Header2ActionBar-0.2.1.jar')
    compile 'com.arasthel:gnavdrawer-library:+'
    compile 'com.koushikdutta.ion:ion:1.2.4'
}

Топ build.gradle уровень

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}
---

Top 5 ответ

1Eugen Martynov @

Это правильно . Новая библиотека поддержка не совместимы ( пока) со старыми версиями Android.

Изменение Gradle к :

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.1.+'
    compile 'com.android.support:support-v4:19.1.+'
}

Я надеюсь, что ты еще что-то вроде этого:

android {
  compileSdkVersion 19
  buildToolsVersion '19.1.0'

  defaultConfig {
    minSdkVersion 14
    targetSdkVersion 19
 }
}
2TalkLittle @

UPDATE : Найдено реальную исправление моем случае . Убедитесь, что ни ваших зависимостей молча в том числе опорно- v4 r21, делая это в вашем build.gradle :

compile("com.blahblah:blah:123") {
    exclude group: 'com.android.support', module:'support-v4'
}

Вы можете добавитьexclude для всех библиотек, то удалить один за другим, пока вы не выясните, какой из них тянул в support-v4 и дает вам эту ошибку. И оставить exclude на том.

Существуетновая ошибка подал здесь: https://code.google.com/p/android/issues/detail?id=72430

Предполагая, что вы используете поддержки репозитория ,обходной путь, чтобы комментировать или удалить строку

<version>21.0.0-rc1</version>

в местной Maven листинга репо файла на <android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml

3Gabriele Mariotti @

С последними обновлениями, с помощью этого :

compile 'com.android.support:support-v4:20.+'

or

compile 'com.android.support:support-v4:+'

Вы используете опорную LIB в L- превью.

Эти опорные LIBS заявляют minSdkVersion L .

Вы должны заставить minSdkVersion быть "L" (проверьте DOC)

Это потому, что эти интерфейсы не являются окончательными. Этоспособ предотвратить установке приложения на конечной API 21 устройства или его публикации на магазине, используя поддержку Lib 21 -R1 .

Using

compile 'com.android.support:support-v4:19.1.0'

Вы используете "старые" Поддержка Библиотека 19.1.0 .

4raycohen @

Я была такая же проблема, как один из моих зависимостей было указано " опорно- v7 : + как зависимость. Я был в состоянии отслеживать это вниз с помощью gradle dependencies

Gradle обеспечивает путь к http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html#N15F3A к конкретной версии. В итоге я получил это в моем build.grade :

compile('com.android.support:appcompat-v7:19.1.0') {
    // really use 19.1.0 even if something else resolves higher
    force = true 
}
5For Guru @
compile('com.android.support:support-v4:19.1.0'){
    force = true
}

Это работает для меня