Search code examples
androidandroid-studioandroid-gradle-pluginandroid-5.0-lollipop

Manifest merger failed : uses-sdk:minSdkVersion 14


Since downloading the latest SDK and installing Android Studio, my project fails to build. I get the following message:

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

Solution

  • Note: This has been updated to reflect the release of API 21, Lollipop. Be sure to download the latest SDK.

    In one of my modules I had the following in build.gradle:

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

    Changing this to

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

    fixed the issue.

    Make sure you're not doing a general inclusion of com.android.support:support-v4:+ or any other support libraries (v7, v13, appcompat, etc), anywhere in your project.

    I'd assume the problem is v4:+ picks up the release candidate (21.0.0-rc1) latest L release which obviously requires the L SDK.

    Edit:

    If you need to use the new views (CardView, RecyclerView, and Palette), the following should work:

    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 to EddieRingle on /androiddev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/)

    Another Edit

    Be sure to see @murtuza's answer below regarding appcompat-v7 and upvote if it helps!