¿Cómo usar diferentes versiones de la misma dependencia de gradle en diferentes módulos de Android Studio?

En mi proyecto de Android Studio, tengo dos módulos de aplicación y biblioteca . Por lo tanto, también tengo dos archivos build.gradle .

build.gradle (app):

dependencies { compile 'com.squareup.okhttp:okhttp:2.4.0' ... } 

build.gradle (biblioteca):

  dependencies { compile 'com.squareup.okhttp:okhttp:2.3.0' ... } 

Cuando llamo a algunos métodos de modernización en mi módulo de biblioteca , utiliza okhttp 2.4.0 en lugar de 2.3.0. ¿Por qué es este el caso y cómo puedo cambiar esto?

One Solution collect form web for “¿Cómo usar diferentes versiones de la misma dependencia de gradle en diferentes módulos de Android Studio?”

Retrofit más probable tiene una dependencia transitiva en okhttp y utiliza 2.4.0 .

Puedes probar

 compile ('com.squareup.retrofit:retrofit:2.0.0-beta1'){ exclude module: 'okhttp' } compile 'com.squareup.okhttp:okhttp:2.3.0'} 

para forzar retrofit para usar la dependencia okhttp que usted mismo declaró. No sé si Retrofit se basa en una determinada versión / implementación de OkHttp y funcionará correctamente si se cambia.

  • Gradle, Android y la ubicación de ANDROID_HOME SDK
  • Gradle construido terminado con 520 errores pero APK generado con éxito
  • ¿Es posible definir un recurso de array de cadenas Android en Gradle?
  • Firma de sabores de productos con gradle
  • ¿Tiene diferentes dependencias en las ediciones de grado?
  • No se encontró el método DSL Gradle: "classpath ()"
  • Error Gradle: configuración declara la dependencia que no está declarada
  • Tela Beta y separaciones de APK
  • Gradle Android Maven Plugin no crea el archivo pom automáticamente
  • Auto incremento de código de versión sólo en versiones
  • Ejecute la tarea firebaseUploadReleaseProguardMapping desde el archivo app / build.gradle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.