studio google dependency actualizar android maven android-studio gradle

android - google - gradle vs maven



gradle-duplicados de la biblioteca en dependencias (1)

Para encontrar dependencias duplicadas o sus dependencias requeridas , puede visualizar las dependencias de la biblioteca en el árbol. Ejecute el comando gradle como se muestra a continuación.

gradle -q dependencies yourProject:dependencies --configuration compile

Tenga en cuenta que ejecute gradlew en Windows como se muestra a continuación.

gradlew -q dependencies yourProject:dependencies --configuration compile

El resultado del comando le mostrará la jerarquía de árbol legible por humanos de todas las dependencias como se muestra a continuación.

compile - Classpath for compiling the main sources. +--- org.androidannotations:androidannotations-api:3.2 +--- com.android.support:support-annotations:22.1.1 +--- com.squareup:otto:1.3.6 +--- in.srain.cube:grid-view-with-header-footer:1.0.10 +--- com.nostra13.universalimageloader:universal-image-loader:1.9.3 +--- com.github.chrisbanes.photoview:library:1.2.3 +--- org.simpleframework:simple-xml:2.7.1 +--- com.google.android.gms:play-services-base:6.5.+ -> 6.5.87 +--- project :yourProject | +--- com.loopj.android:android-async-http:1.4.6 | +--- org.apache.httpcomponents:httpmime:4.2.5 | | /--- org.apache.httpcomponents:httpcore:4.2.4 | /--- com.google.code.gson:gson:2.3.1 +--- project :facebook | /--- com.android.support:appcompat-v7:22.1.1 | /--- com.android.support:support-v4:22.1.1 | /--- com.android.support:support-annotations:22.1.1 -> 22.2.0

Puede ver las dependencias anuladas y decidir cuáles deben evitarse. En el ejemplo anterior, la última línea com.android.support:support-annotations presenta una anulación 22.1.1 de 22.1.1 a 22.2.0 .

Para evitar duplicados , puede agregar cláusulas de exclude en cada archivo build.gradle proyecto.

compile(''com.github.chrisbanes.photoview:library:1.2.3'') { exclude group: ''com.android.support'' } compile(''org.simpleframework:simple-xml:2.7.1'') { exclude module: ''stax'' exclude module: ''stax-api'' exclude module: ''xpp3'' } compile(''com.google.android.gms:play-services-base:6.5.+'') { exclude module: ''support-v4'' }

Para obtener más información, puede ver el tutorial en https://docs.gradle.org/current/userguide/userguide_single.html#sec:listing_dependencies

Tengo un proyecto de Android con gradle. El problema es: en la vista de project , veo pocas versiones de support-v4 bibliotecas support-v4 , por ejemplo support-v4-21.0.3 y support-v4-22.2.0 .

Pero en build.gradle no tengo support-v4 en absoluto.

Pero tengo ~ 10 otras dependencias en build.gradle . Por ejemplo, appcompat-v7:22.2.0 . Puedo sugerir que appcompat-v7:22.2.0 depende de support-v4-22.2.0 en dependencias de maven y lo extrae implícitamente. Pero no tengo ideas de quién saca support-v4-21.0.3 .

Hasta donde sé, todas estas bibliotecas se incluirán en mi APK y aumentarán el peso de la APK.

Entonces tengo las siguientes preguntas:

  1. ¿Cómo evitar los duplicados de la biblioteca?
  2. ¿Cómo ver las dependencias de Maven en Android Studio?
  3. ¿Cómo detectar qué biblioteca requiere esta biblioteca? Por ejemplo, ¿qué biblioteca requiere support-v4-21.0.3 en mi proyecto?