Criei um novo projeto no Android Studio 2.2 Preview 1 com o aplicativo Android e o módulo Back-end com o Google Messaging. Este é o arquivo do aplicativo:
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')
}
Mas está dando:
Erro: conflito com a dependência 'com.google.code.findbugs: jsr305'. As versões resolvidas para o aplicativo (1.3.9) e o aplicativo de teste (2.0.1) são diferentes. Consulte http://g.co/androidstudio/app-test-app-conflict para obter detalhes.
Eu sou novo no Android e não consigo encontrar o que é esse erro. Como faço para corrigir isso?
2.0.1
funciona (seja como for, ambas as versões precisam ser forçadas a serem idênticas).Isto é devido ao café expresso. Você pode adicionar o seguinte aos seus aplicativos
build.grade
para atenuar isso.fonte
exclude group: 'com.android.support', module: 'support-annotations'
MÉTODO 1: Excluí o androidTestCompile na linha de café expresso, que foi automaticamente incluída em um novo projeto. Então meu Android Studio compila limpo.
O androidTestCompile está em "build.gradle (Module: app)":
Não sei se essa exclusão terá algum problema no futuro, mas certamente funciona para o meu projeto atual agora.
MÉTODO 2: A adição de uma exclusão em findbugs também funciona:
MÉTODO 3: Forçando a compilação com uma versão específica:
(A seguir, forço-o a compilar com a versão superior.)
fonte
No Guia do usuário do Gradle Plugin :
Adicione esta linha às suas dependências build.gradle para usar a versão mais recente dos dois APKs:
compile('com.google.code.findbugs:jsr305:2.0.1')
Para referência futura, você pode verificar o seu Gradle Console e ele fornecerá um link útil ao lado do erro para ajudar com qualquer erro de construção do gradle.
fonte
A razão pela qual isso acontece é que a dependência diff usa a mesma lib da versão diff.
Portanto, existem 3 etapas ou (1 etapa) para resolver esse problema.
1º
Adicionar
para o seu
build.gradle
arquivoandroid {...}
2º
Abra o terminal no comando android studio
run
./gradlew -q app:dependencies
.3º
Clique
Clean Project
na barra de menus do android studio naBuild
lista.Ele reconstruirá o projeto e
remove
codificará na 1ª etapa.Talvez você precise apenas do segundo passo executivo. Não consigo reverter quando ocorre um erro. Tente.
fonte
Quando adicionei
module: 'jsr305'
como uma declaração de exclusão adicional, tudo funcionou bem para mim.})
fonte
O problema, conforme declarado em seus logs, são 2 dependências tentando usar versões diferentes da 3ª dependência. Adicione um dos seguintes ao arquivo app-gradle:
fonte
A resposta aceita é uma maneira de corrigir o problema, porque apenas aplicará alguma estratégia para a dependência problemática (com.google.code.findbugs: jsr305) e resolverá o problema no projeto, usando alguma versão dessa dependência. Basicamente, alinhará as versões desta biblioteca dentro de todo o projeto.
Há uma resposta de @Santhosh (e de outras pessoas) que sugere excluir a mesma dependência para o café expresso, que deve funcionar da mesma maneira, mas se o projeto tiver outras dependências que dependem da mesma biblioteca (com.google .code.findbugs: jsr305), novamente teremos o mesmo problema. Portanto, para usar essa abordagem, você precisará excluir o mesmo grupo de todas as dependências do projeto, que dependem de com.google.code.findbugs: jsr305. Pessoalmente, descobri que o Espresso Contrib e o Espresso Intents também usam com.google.code.findbugs: jsr305.
Espero que esses pensamentos ajudem alguém a perceber o que exatamente está acontecendo aqui e como as coisas funcionam (e não apenas copiar e colar algum código) :).
fonte
Adicione isto às dependências para forçar o uso da versão mais recente da biblioteca findbugs:
fonte
excluir dependências de café expresso no arquivo gradle funciona para mim.
exclua essas linhas no arquivo gradle do aplicativo:
fonte
Aqueles que estão recebendo o mesmo erro no Android 3.0.1, podem resolvê-lo simplesmente atualizando as versões do compileSdkVersion e targetSdkVersion para 27 e também Implementar com.android.support:appcompat-v7:27.1.1 'nas dependências .
fonte
No projeto ': app', você pode adicionar o seguinte ao seu arquivo app / build.gradle:
fonte
Para react-native-firebase , adicionar isso à
app/build.gradle
seção dependências fez funcionar para mim:fonte
Eu estava tentando usar o envio de deeplink do airbnb e recebi esse erro. Eu também tive que excluir o grupo findbugs do annotationProcessor.
fonte
REATIVO NATIVO
Se você estiver procurando por uma solução nativa de reação, escreva esse trecho no arquivo de construção do node_modules gradle afetado, por exemplo, firebase no meu caso.
fonte