использует-sdk: minSdkVersion 19 не может быть меньше версии 22, объявленной в библиотеке

#android-studio #ionic-framework #android-min-sdk

#android-studio #ionic-framework #android-min-sdk

Вопрос:

Ранее мы использовали уровень API Android 28 с minSdkVersion как 19 в config.xml и приложение было доступно в Play Store. Недавно мы обновили версию Android (удалив и добавив последнюю версию Android, поскольку Google Play Console обязана иметь Android выше уровня API 29). Но выполнение этой ионной сборки привело к ошибке ниже :

 Manifest merger failed : uses-sdk:minSdkVersion 19 cannot be smaller than version 22 declared in library [:CordovaLib] D:MobileAppMyAppplatformsandroidCordovaLibbuildintermediateslibrary_manifestdebugAndroidManifest.xml as the library might be using APIs not available in 19
            Suggestion: use a compatible library with a minSdk of at most 19,
                    or increase this project's minSdk version to at least 22,
                    or use tools:overrideLibrary="org.apache.cordova" to force usage (may lead to runtime failures)
  

Благодаря этому приложение может быть обновлено на мобильных телефонах. Пожалуйста, подскажите, есть ли какой-либо способ использовать 19 в качестве minSdkVersion.

Спасибо!

Комментарии:

1. Добавьте <preference name="android-minSdkVersion" value="22" /> в свой config.xml

2. Я добавил это, и сборка выполняется на мобильных телефонах с уровнем API> = 22, однако немногие мобильные телефоны имеют более низкую версию Android и, следовательно, не могут использовать приложение.

Ответ №1:

Попробуйте изменить minSdkVersion на 22 в вашем config.xml досье. Я думаю, что проблема будет решена. У меня была такая же проблема.

Пример: <preference name="android-minSdkVersion" value="22" />

Комментарии:

1. И как это помогает поддерживать 19 sdk?

2. Кто-нибудь знает, что изменить в январе 2022 года? Я ничего не могу найти ни в проекте Android, ни во всем проекте ionic, в котором перечислены <предпочтения …> что-либо {proj} /app/src/main/res/xml/config.xml содержит только <виджет …> <доступ … /> </widget>

Ответ №2:

У меня есть решение, оно не очень сложное :

Войдите в «настройки проигрывателя» (файл -> настройки сборки -> настройки проигрывателя) и прокрутите.

Когда вы увидите «Минимальный уровень API», повторите это (я выбираю Android 8.0 «Oreo» (уровень API 26)).

Ответ №3:

Попробуйте добавить этот код в 1 строку ниже, в разделе Gradle Scripts> gradle.properties (Свойства проекта)> Syn now> Build (Очистить проект> Перестроить проект)

 android.suppressUnsupportedCompileSdk=32