J'ai créé un nouveau projet dans Android Studio 2.2 Preview 1 avec l'application Android et le module Backend avec Google Messaging. Voici le fichier d'application:
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')
}
Mais ça donne:
Erreur: conflit avec la dépendance "com.google.code.findbugs: jsr305". Les versions résolues pour l'application (1.3.9) et l'application de test (2.0.1) diffèrent. Voir http://g.co/androidstudio/app-test-app-conflict pour plus de détails.
Je suis nouveau sur Android et je ne trouve pas quelle est cette erreur. Comment je le répare?
android-studio
gradle
google-cloud-messaging
android-gradle-plugin
build.gradle
Rahul Garg
la source
la source
2.0.1
fonctionne également (peu importe, les deux versions doivent être forcées pour être identiques).Cela est dû à l'espresso. Vous pouvez ajouter ce qui suit à vos applications
build.grade
pour atténuer cela.la source
exclude group: 'com.android.support', module: 'support-annotations'
MÉTHODE 1: J'ai supprimé le androidTestCompile sur la ligne espresso-core qui a été automatiquement inclus dans un nouveau projet. Ensuite, mon Android Studio se compile proprement.
AndroidTestCompile est dans "build.gradle (Module: app)":
Je ne sais pas si cette suppression aura un problème sur la route, mais cela fonctionne sûrement pour mon projet actuel maintenant.
MÉTHODE 2: L'ajout d'une exclusion sur findbugs fonctionne également:
MÉTHODE 3: Forcer la compilation avec une version spécifique:
(Dans ce qui suit, je la force à compiler avec la version supérieure.)
la source
Depuis le guide de l'utilisateur du plugin Gradle :
Ajoutez cette ligne à vos dépendances build.gradle pour utiliser une version plus récente pour les deux APK:
compile('com.google.code.findbugs:jsr305:2.0.1')
Pour référence future, vous pouvez vérifier votre console Gradle et elle fournira un lien utile à côté de l'erreur pour vous aider avec toutes les erreurs de construction Gradle.
la source
La raison pour laquelle cela se produit est que la dépendance diff utilise la même bibliothèque de version diff.
Donc, il y a 3 étapes ou (1 étape) pour résoudre ce problème.
1er
Ajouter
dans votre
build.gradle
fichierandroid {...}
2e
Ouvrez le terminal dans la commande Android Studio
Run
./gradlew -q app:dependencies
.3e
Cliquez
Clean Project
dans la barre de menus du studio Android dans laBuild
liste.Il va reconstruire le projet, puis
remove
coder en 1ère étape.Peut-être avez-vous juste besoin d'exécuter la 2e étape. Je ne peux pas revenir en arrière en cas d'erreur. Essaye.
la source
Lorsque j'ai ajouté
module: 'jsr305'
une instruction d'exclusion supplémentaire, tout s'est bien passé pour moi.})
la source
Le problème, comme indiqué dans vos journaux, est que 2 dépendances essaient d'utiliser différentes versions de la 3e dépendance. Ajoutez l'un des éléments suivants au fichier app-gradle:
la source
La réponse acceptée est un moyen de résoudre le problème, car elle appliquera simplement une stratégie pour la dépendance problématique (com.google.code.findbugs: jsr305) et elle résoudra le problème autour du projet, en utilisant une version de cette dépendance. Fondamentalement, il alignera les versions de cette bibliothèque dans l'ensemble du projet.
Il y a une réponse de @Santhosh (et quelques autres personnes) qui suggère d'exclure la même dépendance pour l'expresso, qui devrait fonctionner de la même manière, mais si le projet a d'autres dépendances qui dépendent de la même bibliothèque (com.google .code.findbugs: jsr305), encore une fois, nous aurons le même problème. Donc, pour utiliser cette approche, vous devrez exclure le même groupe de toutes les dépendances du projet, qui dépendent de com.google.code.findbugs: jsr305. J'ai personnellement constaté que Espresso Contrib et Espresso Intents utilisent également com.google.code.findbugs: jsr305.
J'espère que ces pensées aideront quelqu'un à réaliser ce qui se passe exactement ici et comment les choses fonctionnent (pas seulement copier-coller du code) :).
la source
Ajoutez ceci aux dépendances pour forcer l'utilisation de la dernière version de la bibliothèque findbugs:
la source
supprimer les dépendances expresso dans le fichier gradle fonctionne pour moi.
supprimez ces lignes dans le fichier de gradation de l'application:
la source
Ceux qui obtiennent la même erreur dans Android 3.0.1, peuvent le résoudre en mettant simplement à jour les versions de compileSdkVersion et targetSdkVersion à 27 et également implémenter com.android.support:appcompat-v7:27.1.1 'dans les dépendances .
la source
Dans le projet ': app', vous pouvez ajouter ce qui suit à votre fichier app / build.gradle:
la source
Pour react-native-firebase , l'ajout de cela à
app/build.gradle
la section des dépendances l'a fait fonctionner pour moi:la source
J'essayais d'utiliser la répartition des liens profonds airbnb et j'ai eu cette erreur. J'ai également dû exclure le groupe findbugs du processeur d'annotation.
la source
REACT NATIVE
Si vous cherchez une solution native de react, alors écrivez cet extrait dans votre fichier de construction gradle node_modules affecté, par exemple firebase dans mon cas.
la source