Fusione Manifest fallito : Usi - sdk : minSdkVersion 14

? loeschg @ | Original: StackOverFlow
---

Dal momento che scaricare l'ultima SDK e l'installazione di Android Studio, il mio progetto non riesce a costruire. Ottengo il seguente messaggio :

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

Top 5 Risposta

1loeschg @

Nota : Questo è stato aggiornato per riflettere il rilascio di API 21, Lollipop . Assicurarsi di scaricare l'ultima SDK .

In uno dei miei moduli ho avuto il seguente in build.gradle :

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

La modifica di questa a

dependencies {
    // do not use dynamic updating.
    compile 'com.android.support:support-v4:21.0.0' 
}

risolto il problema .

Assicurarsi che non stai facendo una inclusione generale di com.android.support:support-v4:+ o altre librerie di supporto ( v7, V13, AppCompat, ecc ), in qualsiasi punto del progetto .

Mi piacerebbe pensare che il problema è v4:+ raccoglie la release candidate ( 21.0.0 - rc1 ) ultima versione L, che richiede ovviamente la L SDK .

Edit:

Se è necessario utilizzare le nuove viste ( CardView, RecyclerView, e Palette ), il seguente dovrebbe funzionare :

compile "com.android.support:cardview-v7:21.0.0"
compile "com.android.support:recyclerview-v7:21.0.0"
compile "com.android.support:palette-v7:21.0.0"

( Credit per EddieRingle on / AndroidDev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/ )

Another Edit

Essere sicuri di vedere la risposta di @ Murtuza sotto per quanto riguarda appcompat - v7 e upvote se aiuta !

2murtuza @

Inoltre, nel caso in cui si importa la libreria appcompat - v7 assicuratevi di contrassegnare un numero di versione alla fine in questo modo:

compile 'com.android.support:support-v4:19.+'
compile 'com.android.support:appcompat-v7:19.+'

Dopo solo cambiando la versione supporto v4, ho ancora ricevuto l'errore :

Fusione Manifest fallito : usa - sdk : minSdkVersion 15 non può essere inferiore a versione L dichiarato com.android.support:support-v4:21.0.0-rc1 biblioteca

E 'stato un po' di confusione perché sembra v4 è ancora il problema, ma, di fatto, limitando la versione appcompat v7 risolto il problema .

3gauravsapiens @

Solution 1:

Change usa - sdk a <uses-sdk tools:node="replace" /> e aggiungere xmlns:tools="http://schemas.android.com/tools" in AndroidManifest.xml

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.demo.android"
    android:versionCode="16"
    android:versionName="3.3.1">
    .
    .
    <uses-sdk tools:node="replace" />
    .
    .
</manifest>

Assicurarsi di utilizzare Gradle 0,11 e al di sopra di utilizzare fusione Manifest .

Solution 2:

Modifica compile 'com.android.support:support-v4:+' a compile 'com.android.support:support-v4:20.+' in build.gradle . Ciò impedirà Gradle usare v4:21.0.0 Che richiede la versione L.

Tuttavia, se il le tue dipendenze esterne utilizza la stessa . Probabilmente si dovrà aspettare per loro di aggiornare la stessa .

Solution 3:

Rimuovere / Commento <version>21.0.0-rc1</version> nel file <android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml

Ripetere la stessa per il supporto - v7

4Ihor Kostenko @

È necessario rimuovere dalla build.gradle compile 'com.android.support:support-v13:+'

5LemonGentry @

Ecco il nuovo bug archiviato per questo btw https://code.google.com/p/android/issues/detail?id=72430

Supponendo che si sta utilizzando il repository di supporto, la soluzione è quella di commentare o rimuovere la linea

21.0.0 - rc1 nella repo Maven locale messa file alla /extras/android/m2repository/com/android/support-v4/maven-metadata.xml