Я использую библиотеки с обратной связью, для которых требуется Android 17 или более поздняя версия. Однако мое приложение поддерживает minSDK 16, поэтому я получаю сообщение об ошибке сборки, сказав, что
Error:Execution failed for task ':Tasks:processPhoneDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 17 declared in library /Users/mike/Projects/android-for-dummies-v3/Tasks/build/intermediates/exploded-aar/com.android.support/leanback-v17/21.0.2/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="android.support.v17.leanback" to force usage
Когда я просматриваю документацию по инструментам сборки , я вижу, как добавить overrideLibrary
маркер в мой манифест, но проблема в том, что я объявляю свой minSdk в файле Gradle, а не в моем манифесте.
Как использовать, overrideLibrary
когда minSdk объявлен в build.gradle вместо AndroidManifest.xml?
android
gradle
android-tv
emmby
источник
источник
Ответы:
Откройте Android Studio -> Открыть файл манифеста
добавить
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
не забудьте включитьxmlns:tools="http://schemas.android.com/tools"
, прежде чем<application>
тегисточник
tools:overrideLibrary="info.hoang8f.fbutton"
<uses-sdk tools:ignore="GradleOverrides">
. Это приведетtools:overrideLibrary
к игнорированию вашего атрибута. См. Stackoverflow.com/questions/31062893/…не имеет значения, что вы объявляете ваш minSdk в build.gradle. Вы должны скопировать
overrideLibrary
в свойAndroidManifest.xml
, как описано здесь .Система автоматически игнорирует sdkVersion, объявленный в AndroidManifest.xml.
Я надеюсь, что это решит вашу проблему.
источник
Я столкнулся с проблемой конфликта между различными версиями min sdk. Так что это решение сработало для меня.
источник
Поскольку библиотека требует,
minSdkVersion 17
вы можете изменить то же самое вbuild.gradle
файле (Модуль: Приложение):и после этого построения проект не должен выдавать какую-либо ошибку сборки.
источник
Я только что изменил
minSdkVersion="7"
вC:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
и это сработало.шаги:
C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
<uses-sdk android:minSdkVersion="7"/>
Выполните команду в новой командной строке:
C:\MyApp>phonegap build android --debug [phonegap] executing 'cordova build android --debug'... [phonegap] completed 'cordova build android --debug'
источник
overrideLibrary
когда minSdk объявлен в build.gradle.только что изменился только android: minSdkVersion = "16" и он отлично работает C: \ MyApp \ platform \ android \ CordovaLib \ AndroidManifest.xml
источник
используйте этот код в manifest.xml
источник
В качестве решения для всех библиотек мы можем сопоставить их версии SDK, поэтому не может произойти непредвиденное событие
Удалите библиотеки, которые вы не используете в своем проекте (gms), и убедитесь, что версия sdk соответствует данным gradle уровня вашего приложения
источник