Creé un nuevo proyecto en Android Studio 2.2 Preview 1 con la aplicación de Android y el módulo Backend con Google Messaging. Este es el archivo de la aplicación:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.xxx.xxx"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha1'
compile 'com.google.android.gms:play-services-gcm:9.0.0'
testCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support:support-annotations:23.4.0'
compile project(path: ':backend', configuration: 'android-endpoints')
}
Pero está dando:
Error: conflicto con la dependencia 'com.google.code.findbugs: jsr305'. Las versiones resueltas para la aplicación (1.3.9) y la aplicación de prueba (2.0.1) difieren. Ver http://g.co/androidstudio/app-test-app-conflict para más detalles.
Soy nuevo en Android y no puedo encontrar cuál es este error. ¿Cómo lo soluciono?
2.0.1
funciona (lo que sea, ambas versiones deben ser forzadas a ser idénticas).Esto se debe al espresso. Puede agregar lo siguiente a sus aplicaciones
build.grade
para mitigar esto.fuente
exclude group: 'com.android.support', module: 'support-annotations'
MÉTODO 1: eliminé androidTestCompile en la línea espresso-core que se incluyó automáticamente en un nuevo proyecto. Entonces mi Android Studio compila limpio.
AndroidTestCompile está en "build.gradle (Módulo: aplicación)":
No sé si esta eliminación tendrá algún problema en el futuro, pero seguramente ahora funciona para mi proyecto actual.
MÉTODO 2: Agregar una exclusión en findbugs también funciona:
MÉTODO 3: Forzar la compilación con una versión específica:
(A continuación, lo fuerzo a compilar con la versión superior).
fuente
De la Guía del usuario de Gradle Plugin :
Agregue esta línea a sus dependencias build.gradle para usar una versión más nueva para ambos APK:
compile('com.google.code.findbugs:jsr305:2.0.1')
Para referencia futura, puede consultar su Consola Gradle y le proporcionará un enlace útil junto al error para ayudarlo con cualquier error de construcción de Gradle.
fuente
La razón por la que esto sucede es que la dependencia de diff usa la misma lib de la versión de diff.
Entonces, hay 3 pasos o (1 paso) para resolver este problema.
Primero
Añadir
a su
build.gradle
archivo enandroid {...}
2do
Abrir terminal en Android Studio
Run
./gradlew -q app:dependencies
comando de .3ro
Haga clic
Clean Project
en la barra de menú de Android Studio en laBuild
lista.Reconstruirá el proyecto y luego
remove
codificará en el primer paso.Tal vez solo necesites un segundo paso ejecutivo. No puedo retroceder cuando se produce un error. Pruebalo.
fuente
Cuando agregué
module: 'jsr305'
como una declaración de exclusión adicional, todo funcionó bien para mí.})
fuente
El problema, como se indica en sus registros, son 2 dependencias que intentan usar diferentes versiones de la tercera dependencia. Agregue uno de los siguientes al archivo app-gradle:
fuente
La respuesta aceptada es una forma de solucionar el problema, ya que solo aplicará alguna estrategia para la dependencia problemática (com.google.code.findbugs: jsr305) y resolverá el problema en torno al proyecto, utilizando alguna versión de esta dependencia. Básicamente alineará las versiones de esta biblioteca dentro de todo el proyecto.
Hay una respuesta de @Santhosh (y un par de otras personas) que sugiere excluir la misma dependencia para el espresso, que debería funcionar de la misma manera, pero si el proyecto tiene algunas otras dependencias que dependen de la misma biblioteca (com.google .code.findbugs: jsr305), nuevamente tendremos el mismo problema. Entonces, para usar este enfoque, deberá excluir el mismo grupo de todas las dependencias del proyecto, que dependen de com.google.code.findbugs: jsr305. Personalmente, descubrí que Espresso Contrib y Espresso Intents también usan com.google.code.findbugs: jsr305.
Espero que estos pensamientos ayuden a alguien a darse cuenta de lo que está sucediendo exactamente aquí y cómo funcionan las cosas (no solo copiar y pegar algún código) :).
fuente
Agregue esto a las dependencias para forzar el uso de la última versión de la biblioteca findbugs:
fuente
Eliminar dependencias de espresso en el archivo Gradle me funciona.
eliminar esas líneas en el archivo gradle de la aplicación:
fuente
Aquellos que obtienen el mismo error en Android 3.0.1, pueden resolverlo simplemente actualizando las versiones de compileSdkVersion y targetSdkVersion a 27 y también Implemente com.android.support:appcompat-v7:27.1.1 'en dependencias .
fuente
En el proyecto ': aplicación' puede agregar lo siguiente a su archivo app / build.gradle:
fuente
Para react-native-firebase , agregar esto a
app/build.gradle
la sección de dependencias lo hizo funcionar para mí:fuente
Estaba tratando de usar el despacho de enlace profundo de airbnb y obtuve este error. También tuve que excluir el grupo findbugs del AnnotationProcessor.
fuente
REACT NATIVO
Si está buscando una solución nativa de reacción, escriba este fragmento en el archivo de compilación gradle node_modules afectado, por ejemplo, firebase en mi caso.
fuente