Korzystam z bibliotek Leanback, które wymagają Androida 17 lub nowszego. Jednak moja aplikacja obsługuje minSDK 16, więc pojawia się błąd kompilacji po powiedzeniu stopnia
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
Kiedy patrzę na dokumentację narzędzi do budowania , widzę, jak dodać overrideLibrary
znacznik do mojego manifestu, ale problem polega na tym, że deklaruję mój minSdk w pliku gradle zamiast w manifeście.
Jak korzystać, overrideLibrary
gdy minSdk jest zadeklarowany w build.gradle zamiast w AndroidManifest.xml?
android
gradle
android-tv
emmby
źródło
źródło
Odpowiedzi:
Otwórz Android Studio -> Otwórz plik manifestu
dodaj
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
, nie zapomnijxmlns:tools="http://schemas.android.com/tools"
też dołączyć przed<application>
tagiemźródło
tools:overrideLibrary="info.hoang8f.fbutton"
<uses-sdk tools:ignore="GradleOverrides">
. Spowoduje to, że twójtools:overrideLibrary
atrybut zostanie zignorowany. Zobacz stackoverflow.com/questions/31062893/…nie ma znaczenia, że deklarujesz swój minSdk w build.gradle. Musisz skopiować
overrideLibrary
w swoimAndroidManifest.xml
, jak udokumentowano tutaj .System automatycznie ignoruje sdkVersion zadeklarowany w AndroidManifest.xml.
Mam nadzieję, że to rozwiąże twój problem.
źródło
Stałem przed problemem konfliktu między różnymi wersjami min sdk. To rozwiązanie zadziałało dla mnie.
źródło
Jak wymaga biblioteka
minSdkVersion 17
, możesz zmienić to samo wbuild.gradle
pliku (Moduł: Aplikacja):a po zakończeniu budowy projekt nie powinien generować błędów kompilacji.
źródło
Właśnie zmienił
minSdkVersion="7"
sięC:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
i to zadziałało.Kroki:
C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
<uses-sdk android:minSdkVersion="7"/>
Polecenie Ran w nowym wierszu polecenia cmd:
C:\MyApp>phonegap build android --debug [phonegap] executing 'cordova build android --debug'... [phonegap] completed 'cordova build android --debug'
źródło
overrideLibrary
gdy minSdk jest zadeklarowany w build.gradle.właśnie zmieniłem tylko Androida: minSdkVersion = "16" i działa idealnie C: \ MyApp \ platform \ android \ CordovaLib \ AndroidManifest.xml
źródło
użyj tego kodu w pliku manifest.xml
źródło
Jako soulution dla wszystkich bibliotek możemy dopasować ich wersję sdk, aby nie mogło dojść do nieoczekiwanego zdarzenia
Usuń biblioteki, których nie używasz w swoim projekcie (gms) i upewnij się, że wersja sdk odpowiada danym stopnia aplikacji
źródło