studio online guidelines english developers descargar como app android gradle android-tv

android - online - ¿Cómo uso herramientas: overrideLibrary en un archivo build.gradle?



como descargar android studio (8)

Abra Android Studio -> Abrir archivo de manifiesto

agregue <uses-sdk tools:overrideLibrary="android.support.v17.leanback"/> no olvide incluir xmlns:tools="http://schemas.android.com/tools" también, antes de la <application> etiqueta

Estoy usando las bibliotecas leanback, que requieren Android 17 o posterior. Sin embargo, mi aplicación admite un minSDK de 16, así que recibo un error de compilación de Gradle diciendo

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

Cuando miro la documentación de las herramientas de compilación , veo cómo agregar el marcador overrideLibrary a mi manifiesto, pero el problema es que estoy declarando mi minSdk en mi archivo gradle en lugar de en mi manifiesto.

¿Cómo uso overrideLibrary cuando el minSdk se declara en build.gradle en lugar de en AndroidManifest.xml?


Acabo de cambiar minSdkVersion="7" en C:/MyApp/platforms/android/CordovaLib/AndroidManifest.xml y funcionó.

Pasos:

  1. Ruta: C:/MyApp/platforms/android/CordovaLib/AndroidManifest.xml
  2. Valor: <uses-sdk android:minSdkVersion="7"/>
  3. Comando Ran en el nuevo indicador de cmd:

    C:/MyApp>phonegap build android --debug [phonegap] executing ''cordova build android --debug''... [phonegap] completed ''cordova build android --debug''


Como la biblioteca requiere minSdkVersion 17 , puede cambiar lo mismo en el build.gradle (Módulo: Aplicación):

defaultConfig { minSdkVersion 17 targetSdkVersion 25 }

y después de esa construcción, el proyecto no debería arrojar ningún error de construcción.


Como soulution para todas las bibliotecas, podemos hacer coincidir la versión SDK de ellas para que no ocurra ningún evento inesperado

subprojects { afterEvaluate {project -> if (project.hasProperty("android")) { android { compileSdkVersion 28 buildToolsVersion ''28.0.3'' defaultConfig { //It''s kinda tricking android studio but anyway it works minSdkVersion 17 } } } if (project.hasProperty("dependencies")) { dependencies { implementation ''com.android.support:support-core-utils:28.0.0'' implementation ''com.android.support:appcompat-v7:28.0.0'' implementation ''com.google.android.gms:play-services-base:16.1.0'' } } } }

Elimine las bibliotecas que no usa en su proyecto (gms) y asegúrese de que la versión SDK coincida con los datos de nivel de aplicación de Gradle


acaba de cambiar solo android: minSdkVersion = "16" y funciona perfectamente C: / MyApp / plataformas / android / CordovaLib / AndroidManifest.xml


no importa que declares tu minSdk en build.gradle. overrideLibrary copiar overrideLibrary en su AndroidManifest.xml , como se documenta aquí .

<manifest ... > <uses-sdk tools:overrideLibrary="com.example.lib1, com.example.lib2"/> ... </manifest>

El sistema ignora automáticamente la sdkVersion declarada en AndroidManifest.xml.

Espero que esto resuelva tu problema.


use este código en manifest.xml

<uses-sdk android:minSdkVersion="16" android:maxSdkVersion="17" tools:overrideLibrary="x"/>


<manifest xmlns:tools="http://schemas.android.com/tools" ... > <uses-sdk tools:overrideLibrary="nl.innovalor.ocr, nl.innovalor.corelib" />

Estaba enfrentando el problema del conflicto entre diferentes versiones de min sdk. Entonces esta solución funcionó para mí.