Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller than version 14 declared in library

15,481

Solution 1

You should change from:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "bb.hoppingbird"
        //minSdkVersion 14
        //targetSdkVersion 19
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.1.0'
    compile 'com.google.android.gms:play-services:+'
}

to:

apply plugin: 'com.android.application'
repositories {
    maven { url 'https://maven.google.com' }
}
android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "bb.hoppingbird"
        minSdkVersion 14
        targetSdkVersion 26
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:26.1.0'
    compile 'com.google.android.gms:play-services:11.4.2'
}

Update: Please follow these instructions:

Solution 2

if you are using AppCompatActivity in your project then you need to change minSdkVersion 14 for com.android.support:appcompat-v7:26.1.0 inside build.gradel file

    minSdkVersion 14
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"

Solution 3

Anyone coming here from libGDX, in your game-project/android/build.gradle change your minSdkVersion from 14 to 16. For example:

defaultConfig {
// other config options...
    minSdkVersion 16
}
Share:
15,481
blueseal
Author by

blueseal

Updated on July 06, 2022

Comments

  • blueseal
    blueseal almost 2 years

    I have been searching SO and other android blogs from last 5-7 hours to get rid of one error but could not. In Android Studio, I imported an old project of eclipse but the error "Manifest merger failed' persists like

    Error:Execution failed for task ':app:processDebugManifest'.
    > Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller than version 14 declared in library [com.google.android.gms:play-services:11.0.4] C:\Users\.android\build-cache\857c11d37cd8661c3d52cb060657f8bf3635bb7a\output\AndroidManifest.xml
        Suggestion: use tools:overrideLibrary="com.google.android.gms.play_services" to force usage
    

    when I checked mentioning minSdkVersion in build.gradle then I got Gradle build finished with 227 error(s) in 1m 30s 253ms some errors are:

        Z:\#1 ready\others\UVPlayermasterpart1\HoppingBird\app\build\intermediates\res\merged\debug\values-ldltr-v21\values-ldltr-v21.xml
        Z:\#1 ready\others\UVPlayermasterpart1\HoppingBird\app\build\intermediates\res\merged\debug\values-v21\values-v21.xml
    Error:(17) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Inverse'.
    Error:(19) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Large.Inverse'.
    Error:(280) Error retrieving parent for item: No resource found that matches the given name '@android:style/Theme.Material.Light.DialogWhenLarge.NoActionBar'.
    Error:(27) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.SearchResult.Subtitle'.
    Error:(106, 21) No resource found that matches the given name: attr 'android:colorAccent'.
    .
    .
    .
    .Error:(203, 21) No resource found that matches the given name: attr 'android:overlapAnchor'.
    .
    .
    

    and using overrideLibrary in manifest file did not work.

    build.gradle

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 19
        buildToolsVersion "26.0.2"
    
        defaultConfig {
            applicationId "bb.hoppingbird"
            //minSdkVersion 14
            //targetSdkVersion 19
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }
    }
    
    dependencies {
        compile 'com.android.support:support-v4:19.1.0'
        compile 'com.google.android.gms:play-services:+'
    }
    

    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="bb.hoppingbird"
        android:versionCode="1"
        android:versionName="1.0">
    
        <supports-screens
            android:xlargeScreens="true"
            android:largeScreens="true"
            android:normalScreens="true"
            android:smallScreens="true"
            android:anyDensity="false" />
    
        <application
            android:icon="@drawable/icon"
            android:label="@string/app_name">
    
            <activity
                android:name="bb.hoppingbird.MainActivity"
                android:label="@string/app_name"
                android:screenOrientation="landscape"
                android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                android:configChanges="orientation">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    
            <!-- Ads Using Google Play Services SDK -->
            <meta-data android:name="com.google.android.gms.version"
                   android:value="@integer/google_play_services_version"/>
    
            <activity android:name="com.google.android.gms.ads.AdActivity"
                 android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
        </application>
    
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.RESTART_PACKAGES"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    
    </manifest>
    

    I will appreciate your answers. Thank You