Estou usando as bibliotecas leanback, que exigem o Android 17 ou posterior. No entanto, meu aplicativo suporta um minSDK de 16, então recebo um erro de construção da gradle dizendo
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
Quando olho para a documentação das ferramentas de construção , vejo como adicionar o overrideLibrary
marcador ao meu manifesto, mas o problema é que estou declarando meu minSdk no meu arquivo gradle em vez de no meu manifesto.
Como uso overrideLibrary
quando o minSdk é declarado no build.gradle em vez de no AndroidManifest.xml?
android
gradle
android-tv
empapar
fonte
fonte
Respostas:
Abra o Android Studio -> Abrir arquivo de manifesto
adicionar
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
, não esqueça de incluirxmlns:tools="http://schemas.android.com/tools"
também, antes da<application>
tagfonte
tools:overrideLibrary="info.hoang8f.fbutton"
<uses-sdk tools:ignore="GradleOverrides">
. Isso fará com que seutools:overrideLibrary
atributo seja ignorado. Veja stackoverflow.com/questions/31062893/…não importa que você declare seu minSdk em build.gradle. Você deve copiar o
overrideLibrary
seuAndroidManifest.xml
, conforme documentado aqui .O sistema ignora automaticamente a sdkVersion declarada no AndroidManifest.xml.
Espero que isso resolva seu problema.
fonte
Eu estava enfrentando a questão do conflito entre diferentes versões mín sdk. Portanto, esta solução funcionou para mim.
fonte
Conforme a biblioteca exigir
minSdkVersion 17
, você poderá alterar o mesmo nobuild.gradle
arquivo (Módulo: Aplicativo):e depois disso, o projeto não deve gerar nenhum erro de compilação.
fonte
Eu só mudou
minSdkVersion="7"
emC:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
e funcionou.Passos:
C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
<uses-sdk android:minSdkVersion="7"/>
Comando Ran no novo prompt do cmd:
C:\MyApp>phonegap build android --debug [phonegap] executing 'cordova build android --debug'... [phonegap] completed 'cordova build android --debug'
fonte
overrideLibrary
quando o minSdk é declarado em build.gradle.acabou de mudar apenas android: minSdkVersion = "16" e funciona perfeitamente C: \ MyApp \ plataformas \ android \ CordovaLib \ AndroidManifest.xml
fonte
use esse código no manifest.xml
fonte
Como soulution para todas as bibliotecas, podemos combinar a versão sdk delas, para que nenhum evento inesperado possa acontecer
Remova as bibliotecas que você não usa no seu projeto (gms) e verifique se a versão sdk corresponde aos dados gradle no nível do aplicativo
fonte