Después de actualizar a Android Studio 2.3, recibí este mensaje de error. Sé que es solo una pista, ya que la aplicación se ejecuta normalmente, pero es realmente extraño.
Todas las bibliotecas com.android.support deben usar exactamente la misma especificación de versión (mezclar versiones puede provocar fallas en el tiempo de ejecución). Versiones encontradas 25.1.1, 24.0.0. Los ejemplos incluyen com.android.support:animated-vector-drawable:25.1.1 y com.android.support:mediarouter-v7:24.0.0
mi gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:25.1.1'
compile 'com.android.support:support-v4:25.1.1'
compile 'com.android.support:design:25.1.1'
compile 'com.android.support:recyclerview-v7:25.1.1'
compile 'com.android.support:cardview-v7:25.1.1'
compile 'com.google.android.gms:play-services-maps:10.2.0'
compile 'com.google.android.gms:play-services:10.2.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.jakewharton:butterknife:8.4.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
compile 'com.blankj:utilcode:1.3.6'
compile 'com.orhanobut:logger:1.15'
compile 'com.facebook.stetho:stetho:1.4.2'
provided 'com.google.auto.value:auto-value:1.2'
annotationProcessor 'com.google.auto.value:auto-value:1.2'
annotationProcessor 'com.ryanharter.auto.value:auto-value-parcel:0.2.5'
compile 'com.mikepenz:iconics-core:2.8.2@aar'
compile('com.mikepenz:materialdrawer:5.8.1@aar') { transitive = true }
compile 'com.mikepenz:google-material-typeface:2.2.0.3.original@aar'
compile 'me.zhanghai.android.materialprogressbar:library:1.3.0'
compile 'com.github.GrenderG:Toasty:1.1.1'
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.8.0'
compile 'com.github.MAXDeliveryNG:slideview:1.0.0'
compile 'com.facebook.fresco:fresco:1.0.1'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.google.maps.android:android-maps-utils:0.4.4'
compile 'com.github.jd-alexander:library:1.1.0'
}
android
build.gradle
humillado
fuente
fuente
Respuestas:
Puede resolver esto con una de las siguientes soluciones:
Actualizar:
A partir de Android Studio 3.0, se vuelve mucho más fácil ya que ahora muestra una pista más útil, por lo que solo necesitamos seguir esta pista.
por ejemplo:
Solución:
Agregue explícitamente la biblioteca con la versión anterior pero con un nuevo número de versión.
en mi caso,
com.android.support:customtabs:26.1.0
entonces necesito agregar:es decir: tome la biblioteca del segundo elemento e impleméntela con el número de versión del primero.
Nota: no olvide presionar sync ahora para que gradle pueda reconstruir el gráfico de dependencia y ver si hay más conflictos.
Explicación:
el mensaje de error puede confundirlo, ya que no lo uso, ¡
customtabs
así que cómo tengo un conflicto!bueno ... no lo usaste directamente, pero una de tus bibliotecas usa una versión antigua
customtabs
internamente, por lo que debes solicitarlo directamente.si tiene curiosidad por saber cuál de sus bibliotecas es responsable de la versión anterior y tal vez le pida al autor que actualice su biblioteca, ejecute un informe de dependencia de Gradle, vea la respuesta anterior para saber cómo.
Nota esto
Vieja respuesta:
inspirado por la respuesta de CommonsWare :
Ejecute un informe de dependencia de Gradle para ver cuál es su árbol completo de dependencias.
A partir de ahí, verá cuál de sus bibliotecas solicita una versión diferente de las bibliotecas de soporte de Android. Para lo que sea que esté pidiendo, puede solicitarlo directamente con la versión 25.2.0 o usar otros enfoques de resolución de conflictos de Gradle para obtener las mismas versiones.
Actualizar:
A partir de la versión del complemento gradle: 3.0
compile
ha sido reemplazado porimplementation
oapi
vea esta respuesta por la diferencia.por lo tanto, use en su lugar:
o para windows cmd:
y busque la versión en conflicto.
Para mí, el error desapareció después de eliminar
com.google.android.gms:play-services:10.2.0
Y solo incluyo
com.google.android.gms:play-services-location:10.2.0
ycom.google.android.gms:play-services-maps:10.2.0
como son los dos únicos servicios de juego que uso.Creo que
gms:play-services
dependen de algunos componentes antiguos de la biblioteca de soporte, por lo que debemos agregarlos explícitamente nosotros mismos.para AS 3.0 y mayores.
Correr:
Ejemplo:
si alguien conoce una mejor manera en el nuevo complemento de gradle, hágamelo saber.
fuente
com.google.android.gms:play-services:10.2.0
admite el SDK 14 y superior, si desea usar el SDK 14 por debajo, debe usar la versión10.0.1
como se menciona en stackoverflow.com/a/42315590/6248491examples include
texto en el mensaje de error muestra ejemplos reales de su propio proyecto, no ejemplos generales vagos del tipo de problema. Tome la biblioteca del segundo elemento e impleméntelo con el número de versión del primero.project/.idea/libraries
carpeta en su sistema de archivos y vea qué bibliotecas son diferentes.build.gradle
archivo.P.ej:
fuente
Para todos los casos, no solo para estas versiones o bibliotecas:
Presta atención a la pequeña ventana de información que dice algo sobre el error, dice los ejemplos que tienes que cambiar y agregar .
En este caso:
Tu
es la versión 25.1.1 , y su
es la versión 24.0.0 , por lo que debe agregar el enrutador de medios con la misma versión:
Y haga eso para cada ejemplo que dice la pequeña ventana de información, en este caso todas las bibliotecas que no tienen la versión 25.1.1.
Debe sincronizar el gradle después de corregir la biblioteca indicada para ver la siguiente biblioteca y paquete que debe cambiar.
IMPORTANTE:
Si no está utilizando explícitamente una o más bibliotecas especificadas y le está dando el error, significa que otra biblioteca lo está utilizando internamente, compílelo explícitamente de todos modos.
También puede usar otro método para ver la diferencia de las versiones de todas las bibliotecas que está compilando realmente (como ejecutar un informe de dependencia de gradle o ir a los archivos de sus bibliotecas), el objetivo real es compilar todas las bibliotecas que está utilizando con La misma versión .
fuente
support:mediarouter
hace exactamente?La mejor manera de resolver el problema es implementar todos los 'com.android.support: ...' sugeridos por Android Studio
(No importa qué versiones de soporte esté utilizando: 27.1.1, 28.0.0, etc.)
Coloque el cursor en la línea de error, p. Ej.
Android Studio le sugerirá qué 'com.android.support: ...' es una versión diferente de 'com.android.support:appcompat-v7:28.0.0'
Ejemplo
Entonces agregue
com.android.support:animated-vector-drawable:28.0.0
&com.android.support:exifinterface:28.0.0
. Ahora sincronice el archivo gradle.Intente implementar uno por uno todos los 'com.android.support sugeridos: ...' hasta que no haya ningún error en esta línea
implementation 'com.android.support:appcompat-v7:28.0.0'
En mi caso, agregué
Todas estas dependencias, podrían ser diferentes para usted.
fuente
Agregue esto al final de su build.gradle (Módulo: aplicación):
Asegúrese de reemplazar '25 .3.1 'con la versión de la biblioteca de soporte de Android que desea usar para todas las dependencias, no debe ser inferior a su versión de SDK de compilación
que re sincronizar gradle
fuente
Tuve exactamente el mismo problema después de actualizar a Android Studio 2.3
Agregar esta línea a las dependencias resolvió mi problema:
fuente
renderscriptSupportModeEnabled false
esto en falso. Y la compilación agregada'com.android.support:customtabs:25.2.0'
y el error desaparecieron.A) Ejecutar
gradle dependencies
o./gradlew dependencies
B) Mire su árbol y descubra cuál de sus dependencias está especificando una versión de biblioteca de soporte diferente para una dependencia que no controla.
No me di cuenta de que esta advertencia también se muestra si la dependencia no es utilizada directamente por su propio código. En mi caso, Facebook especifica algunas bibliotecas de soporte que no estaba usando, puede ver a continuación la mayoría de esas dependencias fueron anuladas por mi propia especificación de 25.2.0, indicada por los símbolos -> XXX (*) . La vista de la tarjeta y las bibliotecas de pestañas personalizadas no fueron anuladas por nadie, por lo que necesito pedir 25.2.0 para esas personas a pesar de que no las uso.
Si Gradle ya te advirtió y te dio ejemplos ...
... es aún más fácil si agrega un poco de resaltado grep para la versión inferior, ya que
gradle dependencies
puede ser bastante detallado:fuente
Usar variables : Hacer algo como lo siguiente le facilitará asegurarse de usar la misma versión con todas las bibliotecas.
Puede encontrar más información sobre cómo Google sugiere que maneje este control de versiones en este artículo: https://developer.android.com/studio/build/index.html#top-level
fuente
solo agrega esto:
Updated
para nuevas versiones de SDKfuente
Si el mismo error está activado
appcompat
luego agregando lo
design
resolvió.Para mi, agregando
estaba incluido
appcompat-v7:23.1.1
ensin
vlc
,appcompat
solo es suficiente.fuente
Como ya viste todas las respuestas y comentarios anteriores, pero esta respuesta es para aclarar algo que un nuevo desarrollador podría no obtener fácilmente.
./gradlew -q aplicación de dependencias: dependencias - compilación de configuración
La línea anterior le salvará la vida sin duda, pero cómo obtener el punto exacto del resultado de la línea anterior.
Cuando obtiene el cuadro o la lista de todas las dependencias del comando anterior, debe buscar el número de versión en conflicto que obtiene en su código. por favor vea la imagen de abajo.
en la imagen de arriba puedes ver que 23.4.0 está creando el problema pero esto no lo podemos encontrar en nuestro archivo gradle. Así que ahora este número de versión (23.4.0) nos salvará. Cuando tengamos este número, lo encontraremos en el resultado del comando anterior e importaremos directamente esa dependencia directamente en nuestro archivo gradle. Consulte la imagen a continuación para obtener una vista clara.
puede ver claramente que com.android.support:cardview-v7:23.4.0 y com.android.support:customtabs:23.4.0 están utilizando la versión que está creando el problema. Ahora simplemente copie esas líneas de la lista de dependencias y úselas explícitamente en nuestro archivo gradle pero con el enlace de la versión actualizada
implementación "com.android.support:cardview-v7:26.1.0" implementación "com.android.support:customtabs:26.1.0"
fuente
Otra forma de resolver conflictos es forzar la versión correcta para todas las dependencias como esta:
https://docs.gradle.org/current/userguide/customizing_dependency_resolution_behavior.html
fuente
Use support-v13 en lugar de support-v4
fuente
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support:design:25.2.0'
compile 'com.android.support:support-v13:25.2.0'
compile 'com.android.support:recyclerview-v7:25.2.0'
agregue esto en dependencias de nivel de aplicación
fuente
Mi problema es similar al tuyo. ¡Aquí existe un error!
compile 'com.android.support:appcompat-v7:25.3.0'
Todas las bibliotecas com.android.support deben usar exactamente la misma especificación de versión (mezclar versiones puede provocar fallas en el tiempo de ejecución). Versiones encontradas 25.3.0, 24.0.0. Los ejemplos incluyen 'com.android.support:animated-vector-drawable:25.3.0' y 'com.android.support:mediarouter-v7:24.0.0'
Ver estos ejemplos incluyen 'com.android.support:animated-vector-drawable:25.3.0' y 'com.android.support:mediarouter-v7:24.0.0'
solo agregue estos códigos en las dependencias, asegúrese de que las versiones sean las mismas.
fuente
Obtuve el mismo error después de agregar
compile 'com.google.android.gms:play-services:10.2.4'
con compilar'com.android.support:appcompat-v7:25.3.1'
.Añadiendo
animated-vector-drawable
ymediarouter libs
solucionado el problema.fuente
Tuve esto:
y obtuve este error:
Las soluciones fueron fáciles: las dependencias principales eran correctas, por lo que las hojas, sin embargo, cualquier dependencia de terceros. Eliminado uno por uno hasta encontrar al culpable, ¡y resulta ser facebook! está utilizando la versión 27.0.2 de las bibliotecas de soporte de Android. Traté de agregar la versión 27.1.1 de cardview, pero tampoco funcionó, la solución aún era bastante simple.
fuente
Me he enfrentado a este problema después de actualizar a Android Studio 3.4 y la versión SDK a 28.0.0. La aplicación de la dependencia a continuación resolvió el problema para mí.
fuente
Usé estos dos para resolver mi problema después de actualizar a Android Studio 2.3
fuente
Tuve el mismo problema antes y obtuve la solución.
Acabo de agregar las bibliotecas que tenían la otra versión pero con la misma versión de mi
support:appcompat
.Por su error, por ejemplo:
* La solución es compilar las versiones de estas bibliotecas así:
compile 'com.android.support:mediarouter-v7:25.1.1'
-si otra biblioteca tuvo el mismo problema y tuvo otra versión simplemente compílela con su
support:appcompat
versiónEsto resolvió mi problema y espero que resuelva el tuyo.
Los mejores deseos :)
fuente
Después de buscar y combinar respuestas, la versión 2018 de esta pregunta y funcionó para mí:
1) En la pestaña de navegación cámbielo a la vista del proyecto
2) Navegue a [YourProjectName] /. Idea / collections /
3) Eliminar todos los archivos que comienzan con Gradle__com_android_support_ [libraryName]
Por ejemplo: Gradle__com_android_support_animated_vector_drawable_26_0_0.xml
4) En su archivo gradle, defina una variable y úsela para reemplazar el número de versión como $ {variableName}
Variable Def:
Usar variable:
ejemplo gradle:
fuente
Muy simple con la nueva versión del estudio Android 3.x.
Simplemente copie la versión que sea menor que la versión actual y agréguela explícitamente con el mismo número de versión que la versión actual.
Ejemplo
Simplemente copie la versión
com.android.support:exifinterface:27.1.0
y cámbiela paracom.android.support:exifinterface:27.1.1
que sea igual a la versión actual que está utilizando y agréguela a sus dependencias gradle de la siguiente manera.Nota: Una vez que haya terminado, no olvide hacer clic en Sincronizar ahora en la parte superior del editor.
fuente
en la actualización de 2018 para este error, agregue la implementación desde la estructura del proyecto
en modo de proyecto -> Bibliotecas externas allí puede encontrar su problema, en mi caso estoy usando la versión 28 y las bibliotecas externas que encontré
com.android.support:support-media-compat-26.0.0
y aquí estaba el error.después de la implementación
support v13
y está funcionandofuente
Ha definido cualquier otra dependencia para compilar con la versión en
24.0.0
lugar de25.1.1
. Configure todas las versiones de dependencias igual que25.1.1
.fuente
Tuve que agregar las siguientes líneas en gradle para eliminar el error
fuente
Ejecuté tareas de ./gradlew y revisé las dependencias que eran una versión diferente de la versión objetivo (25.3.1). Obtendrás algo como esto:
En este caso, estaba apuntando a 25.3.1, y tenía algunas dependencias dirigidas a diferentes versiones cuando ejecuté este comando. El truco consiste en identificar las dependencias en esta lista que apuntan a versiones anteriores y anularlas importando la versión más reciente de la dependencia en Gradle.
fuente
Tengo el mismo problema pero lo resolví agregando esas tres líneas
ahora todo funciona perfectamente
fuente
Aquí está mi flujo para arreglar esta advertencia
build.gradle
Para ver / verificar la
dependencies
totalidad de la biblioteca en su aplicaciónAbra la terminal y ejecute
./gradlew app:dependencies
Para ver el contenido
dependencies
de una biblioteca específica en su aplicación, siga el tutorial aquí: - Cómo excluir dependencias de una dependencia particular en GradleEspero que ayude
fuente
Abra la biblioteca externa de su proyecto, verá que algunas bibliotecas aún usan la versión anterior, aunque no mencionó esas bibliotecas, por lo que mi sugerencia es que solo use la versión de biblioteca particular para aquellas que resolverán su problema.
fuente
Acabo de actualizar mi repositorio de soporte de Android a (revisión: 44.0.0); luego Android SDK Tools y Emulator a la última versión 25.3.1 desde sdk manager> SDK tools Y resolvió mi problema.
fuente