Как игнорировать minSdkVersion библиотеки в Android Studio?
В моем проекте minSdkVersion = 10, в библиотеке это 11.
Я получил:
BUILD_FAILED - Manifest merger failed : uses-sdk:minSdkVersion 10 cannot be smaller than version 11 declared in library.
Как игнорировать minSdkVersion библиотеки?
2 ответа
Вам нужно изменить свой проект на значение библиотеки 11
потому что этот атрибут означает, что библиотека была разработана для использования на устройствах хотя бы с API 11. Она вообще не поддерживает API 10, поэтому вы не можете использовать ее в соответствии с требованиями и минимальным SDK вашего проекта. Подробнее о <использовании-SDK>;
или же
Найдите другую библиотеку, которая будет поддерживать API 10
ОБНОВИТЬ:
или же
Используйте силу ManifestMerger. С официального сайта.
Маркеры абзаца
инструменты: переопределить библиотечный маркер
Специальный маркер, который можно использовать только с объявлением use-sdk для переопределения импорта библиотеки, минимальная версия SDK которой является более поздней, чем минимальная версия SDK этого приложения. Без такого маркера манифест слияния не удастся. Маркер позволит пользователям выбирать, какие библиотеки можно импортировать, игнорируя минимальную версию SDK.
Пример, в основном манифесте андроида:
<uses-sdk android:targetSdkVersion="14" android:minSdkVersion="2"
tools:overrideLibrary="com.example.lib1, com.example.lib2"/>
позволит без ошибок импортировать библиотеку со следующим манифестом:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lib1">
<uses-sdk android:minSdkVersion="4" />
</manifest>
вы должны объявить в своем файле манифеста, как показано ниже
<uses-sdk tools:overrideLibrary="com.example.android" />
и не забудьте безопасно использовать библиотеку, например:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
//your code here
}