Sou novo no desenvolvimento de aplicativos Android. Quando tentei criar um novo projeto, Projeto Android ... a seguinte mensagem apareceu ..
Erro: Falha na execução da tarefa ': app: preDebugAndroidTestBuild'.
Conflito com dependência 'com.android.support:support-annotations' no projeto ': app'. As versões resolvidas do aplicativo (26.1.0) e do aplicativo de teste (27.1.1) são diferentes. Consulte https://d.android.com/r/tools/test-apk-dependency-conflicts.html para obter detalhes. Informações: tarefas Gradle [: app: generateDebugSources,: app: generateDebugAndroidTestSources,: app: mockableAndroidJar]
Esta é a imagem do meu projeto clique aqui para ver a imagem do erro que recebi
Eu também tentei adicionar este código à minha dependência .. androidTestCompile 'com.android.support:support-annotations:23.3.0' isso não funcionou. Eu também tentei 27.1.1 e 26.1.0 .. que também não funcionou.
Respostas:
Com base na sua captura de tela, encontrei duas soluções de trabalho:
Primeira solução : adicione às dependências do seu módulo gradle esta linha
e sincronize seu projeto
Nota: se você estiver usando o Android Studio 3+, mude
compile
paraimplementation
Segunda solução : configurar as propriedades de todo o projeto encontradas na documentação https://developer.android.com/studio/build/gradle-tips.html#configure-project-wide-properties
no projeto gradle adicione esta linha:
Então, para acessar esta
compileSdkVersion
linha de mudança de seção para sercompileSdkVersion rootProject.ext.compileSdkVersion
e na
dependencies
seção altere a biblioteca importada para ficar assim:e sincronize seu projeto
Nota: se você estiver usando o Android Studio 3+, mude
compile
paraimplementation
Para saber a diferença entre
compile
eimplementation
olhar para isto Qual é a diferença entre implementação e compilação no gradlefonte
Adicione a linha abaixo em seu arquivo app.gradle antes do bloco de dependências.
Também há uma captura de tela abaixo para um melhor entendimento.
o bloco configurations.all só será útil se você quiser que seu sdk de destino seja 26. Se você puder alterá-lo para 27, o erro desaparecerá sem adicionar o bloco de configuração no arquivo app.gradle.
Há mais uma maneira, se você remover toda a implementação de teste do arquivo app.gradle, isso resolverá o erro e, nesta também, você não precisa adicionar o bloco de configuração nem alterar a versão do targetsdk.
Espero que ajude.
fonte
Se você usar a versão 26 , a versão das dependências internas deve ser 1.0.1 e 3.0.1 , ou seja, conforme a seguir
Se você usar a versão 27 , a versão das dependências internas deve ser 1.0.2 e 3.0.2 , ou seja, conforme a seguir
fonte
Se você usa o Android Studio 3.1. + Ou superior
basta colocar isso em suas dependências do Gradle:
Geral assim:
fonte
Isso ocorre devido a um conflito de versões, para resolvê-lo, basta forçar uma atualização de sua versão de suporte-anotações, adicionando esta linha em seu módulo: app gradle
implementation ('com.android.support:support-annotations:27.1.1')
Espero que isso resolva seu problema;)
Editar
Quase esquecido, você pode declarar uma única propriedade extra ( https://docs.gradle.org/current/userguide/writing_build_scripts.html#sec:extra_properties ) para a versão, vá para o arquivo gradle do seu projeto (ou superior) e declare seu suporte, ou apenas para este exemplo, versão de anotação var
ext.annotation_version = "27.1.1"
Em seguida, em seu módulo gradle, substitua-o por:
implementation ("com.android.support:support-annotations:$annotation_version")
Isso é muito semelhante à solução @emadabel, que é uma boa alternativa para fazê-lo, mas sem o bloco ou o
rootproject
prefixo.fonte
Adicionar isso ao build.gradle (aplicativo do módulo) funcionou para mim:
compile 'com.android.support:support-annotations:27.1.1'
fonte
Não se preocupe. É simples:
Vá para a estrutura do diretório "Project" e vá para "Gradle Scripts" e dentro dele vá para "build.gradle (Module: app)" e dê um duplo clique nele.
Agora - role para baixo no programa e vá para a seção de dependências: Como abaixo
dependencies {
}
Agora neste Delete as duas últimas linhas de código e reconstrua o aplicativo e agora ele funcionará
As dependências devem ser:
dependencies {
}
RECONSTRUA O APLICATIVO E FUNCIONE !!
fonte
Acesse build.gradle (aplicativo de módulo) em seu projeto:
Siga a foto e mude essas versões:
e se o Android Studio versão 2: Altere a linha com esta linha:
senão mude a linha com esta linha:
e esperançosamente, você resolverá seu bug.
fonte
Adicione isso ao seu arquivo Gradle.
fonte
Outra maneira simples de resolver esse problema é editar seu
build.gradle
(aplicativo):android
tag e mudecompileSdkVersion 26
paracompileSdkVersion 27
defaultConfig
tag e mudetargetSdkVersion 26
paratargetSdkVersion 27
dependencies
marcar e mudarimplementation 'com.android.support:appcompat-v7:26.1.0'
paraimplementation 'com.android.support:appcompat-v7:27.1.1'
fonte
Estou com o mesmo problema, em build.gradle (Módulo: app) adicione a seguinte linha de código dentro das dependências:
Funcionou para mim perfeitamente
fonte
Atualização Importante
Vá para build.gradle de nível de projeto, defina variáveis globais
Acesse build.gradle de nível de aplicativo e use variáveis globais
app build.gradle
alguma biblioteca build.gradle
A solução é fazer suas versões iguais às de todos os módulos. Para que você não tenha conflitos.
Dicas importantes
Sempre tem mais recente, mas versões estáveis versões instáveis são
alpha
,beta
erc
, ignorá-los no desenvolvimento.Eu atualizei tudo abaixo em meus projetos, e não encontro mais esses erros.
build.gradle
-classpath 'com.android.tools.build:gradle:3.2.0'
( controle deandroid.build.gradle
liberação e este )buildToolVersion
( versão do track buildToolVersion )compileSdkVersion
etargetSdkVersion
rastreieBoa codificação! :)
fonte
Se alterar a versão do SDK de destino não ajudar, se você tiver alguma dependência com a versão
3.0.2
, mude para3.0.1
.por exemplo, mudança
para
fonte
A melhor solução é explicada na explicação oficial . Deixei a resposta que dei antes sob a linha horizontal.
De acordo com a solução lá:
Use uma tag externa e anote o código a seguir abaixo no arquivo build.gradle de nível superior . Você vai mudar a versão para uma variável em vez de um número de versão estática.
Altere os números da versão estática em seu arquivo build.gradle de nível de aplicativo , o que está
(Module: app)
próximo.Sincronize seu projeto e você não obterá erros.
Você não precisa adicionar nada aos scripts do Gradle. Instale os SDKs necessários e o problema será resolvido.
No seu caso, instale as bibliotecas abaixo em Preferências> Android SDK ou Ferramentas> Android> SDK Manager
fonte
Adicione esta linha nas dependências em seu arquivo Gradle
fonte