How do I ignore minSdkVersion of library in Android Studio?

17.6k views Asked by At

In my project minSdkVersion = 10, in the library it's 11.

I get:

BUILD_FAILED - Manifest merger failed : uses-sdk:minSdkVersion 10 cannot be smaller than version 11 declared in library.

How to ignore minSdkVersion of library?

2

There are 2 answers

8
gio On BEST ANSWER

You need to change your project to library's value 11, because that attribute means that library was designed to be used at devices at least with API 11. It does not support API 10 at all, so you can not use it according requirements and minimal SDK of your project. See more details about < uses-sdk >

or

Find another library which will support API 10

UPDATE:

or

Use power of ManifestMerger. From official site.

Paragraph Markers

tools:overrideLibrary marker

A special marker that can only be used with uses-sdk declaration to override importing a library which minimum SDK version is more recent than that application's minimum SDK version. Without such a marker, the manifest merger will fail. The marker will allow users to select which libraries can be imported ignoring the minimum SDK version.

Example, In the main android manifest :

<uses-sdk android:targetSdkVersion="14" android:minSdkVersion="2"
      tools:overrideLibrary="com.example.lib1, com.example.lib2"/>

will allow the library with the following manifest to be imported without error :

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.lib1">
    <uses-sdk android:minSdkVersion="4" />
</manifest>
0
behrad On

you have to declare in your manifest file as below

<uses-sdk tools:overrideLibrary="com.example.android" />

and do not forget to safe use of library like :

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {

//your code here
}