Erro: (9, 5) erro: recurso android: attr / dialogCornerRadius não encontrado

118

Então instalei o android studio 3.0.1 e assim que abriu o gradle construí e mostrou os seguintes erros. Tentei adicionar dependências como design e suporte, mas em vão. Alguém poderia me ajudar? Agradeço antecipadamente. insira a descrição da imagem aqui

Mostra que alguns atributos, como dialogCornerRadius e fontVariation Settings não foram encontrados.

Dipti Belurgikar
fonte
4
Eu tinha compileSdkVersion 27e compileSdkVersion 28, mudando compileSdkVersionpara 28, resolvi o problema.
Blasanka

Respostas:

173

Este erro ocorre devido à incompatibilidade compileSdkVersione à versão da biblioteca.

por exemplo:

compileSdkVersion 27
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'

e também evite usar o sinal + com a biblioteca como a seguir:

implementation 'com.android.support:appcompat-v7:26.+'

use a versão exata da biblioteca como esta

implementation 'com.android.support:appcompat-v7:26.1.0'

O uso do sinal + com a biblioteca torna difícil para o processo de construção reunir a versão exata que é necessária, tornando o sistema instável, portanto, deve ser desencorajado.

Sheharyar Ejaz
fonte
Tive que atualizar meu número de versão principal compileSdkVersion para ser o mesmo que com.android.support:support-annotations, com.android.support:appcompat-v7, com.android.support:support-v4, com.android.support: design
oddmeter
66

Se você migrou para AndroidX e está recebendo este erro, é necessário definir o SDK de compilação para Android 9.0 (API de nível 28) ou superior

Murgupluoglu
fonte
alguma maneira de ter androidX com sdkcompiled 27?
Phil
1
@Phil Antes de migrar, atualize seu aplicativo. Recomendamos atualizar seu projeto para usar a versão final da biblioteca de suporte: versão 28.0.0. Isso ocorre porque os artefatos do AndroidX com a versão 1.0.0 são binários equivalentes aos artefatos da Biblioteca de Suporte 28.0.0. Fonte . Portanto, não há opções para sdk 27 ​​com androidX
murgupluoglu
23

Eu tinha exatamente o mesmo problema. O tópico a seguir me ajudou a resolver isso. Basta definir sua versão do Compile SDK para Android P.

https://stackoverflow.com/a/49172361/1542720

Corrigi esse problema selecionando:

API 27+: Android API 27, visualização P (visualização)

nas configurações da estrutura do projeto. a imagem a seguir mostra minhas configurações. Os 13 erros que vinham durante a construção do aplicativo desapareceram.

Configurações do Gradle

Adnan Mulla
fonte
3
observe , você não tem que TARGET para 28, você pode apenas definir compileSdkVersione buildToolsVersionpara 28 e deixar sua targetSdkVersionversão inferior
Kirill Karmazin
16

Verifique suas dependências para usos de +nas versões. Alguma dependência pode estar usando com.android.support:appcompat-v7:+. Isso leva a problemas quando uma nova versão é lançada e pode interromper recursos.

A solução para isso seria usar com.android.support:appcompat-v7:{compileSdkVersion}.+ou não usar +e usar a versão completa (ex. com.android.support:appcompat-v7:26.1.0).

Se você não puder ver uma linha em seus arquivos build.gradle para isso, execute no terminal do Android Studio para dar uma visão geral do que cada dependência usa

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath (inclui dependências do androidtest)

OU

gradlew -q dependencies app:dependencies --configuration debugCompileClasspath (dependências regulares para depuração)

o que resulta em algo parecido com isso

------------------------------------------------------------
Project :app
------------------------------------------------------------

debugCompileClasspath - Resolved configuration for compilation for variant: debug
...
+--- com.android.support:appcompat-v7:26.1.0
|    +--- com.android.support:support-annotations:26.1.0
|    +--- com.android.support:support-v4:26.1.0 (*)
|    +--- com.android.support:support-vector-drawable:26.1.0
|    |    +--- com.android.support:support-annotations:26.1.0
|    |    \--- com.android.support:support-compat:26.1.0 (*)
|    \--- com.android.support:animated-vector-drawable:26.1.0
|         +--- com.android.support:support-vector-drawable:26.1.0 (*)
|         \--- com.android.support:support-core-ui:26.1.0 (*)
+--- com.android.support:design:26.1.0
|    +--- com.android.support:support-v4:26.1.0 (*)
|    +--- com.android.support:appcompat-v7:26.1.0 (*)
|    +--- com.android.support:recyclerview-v7:26.1.0
|    |    +--- com.android.support:support-annotations:26.1.0
|    |    +--- com.android.support:support-compat:26.1.0 (*)
|    |    \--- com.android.support:support-core-ui:26.1.0 (*)
|    \--- com.android.support:transition:26.1.0
|         +--- com.android.support:support-annotations:26.1.0
|         \--- com.android.support:support-v4:26.1.0 (*)
+--- com.android.support.constraint:constraint-layout:1.0.2
|    \--- com.android.support.constraint:constraint-layout-solver:1.0.2

(*) - dependencies omitted (listed previously)

Se você não tem controle sobre a alteração da versão, tente forçar o uso de uma versão específica.

configurations.all {
    resolutionStrategy {
        force "com.android.support:appcompat-v7:26.1.0"
        force "com.android.support:support-v4:26.1.0"
    }
}

A dependência da força pode precisar ser diferente, dependendo do que está sendo definido como 28.0.0

btelman96
fonte
9

tente alterar o compileSdkVersion para: compileSdkVersion 28

Estevão lucas
fonte
3
Mas eu quero que seja 26.
Taslim Oseni
Sim, eu também quero estar em 26. qualquer solução @TaslimOseni
Vigneswaran A
1
@VigneswaranA, eventualmente tive que me limitar a 28 e, assim, atualizar todas as minhas outras dependências. Não consegui encontrar uma solução.
Taslim Oseni
7

Eu estava tendo o mesmo problema ao adicionar uma API de navegação de caixa de mapas e resolvi esse problema acessando: arquivo> estrutura do projeto e, em seguida, definindo a versão SDK de compilação e a versão da ferramenta de compilação para a mais recente. E aqui está a imagem: Screenshot de configurações

Espero que ajude.

Haroon Khan
fonte
6

Isso ocorre porque as implementações de compileSdkVersion, buildToolsVersion e Dependecies não correspondem. Você tem que fazer assim, eu tenho 28 bibliotecas, então

compileSdkVersion 28
targetSdkVersion   28
buildToolsVersion  28.0.3
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'

Se você usar qualquer um em que menos de 28, este erro deve ter ocorrido, então tente combinar a biblioteca em todos.

Sahil Choudhary
fonte
6

Tive o mesmo problema ao trabalhar em um aplicativo com vários módulos, certifique-se de aumentar o compileSdkVersione targetSdkVersionpara 28+ valores em um módulo que você também faz para os outros.

Um módulo estava sendo executado em compileSdkVersion 29e targetSdkVersion 29enquanto um segundo módulo do aplicativo estava em execução em compileSdkVersion 27e targetSdkVersion 27.

Alterar o segundo módulo para também compilar e direcionar a versão 29 do SDK resolveu meu problema. Espero que isso ajude alguém.

Opeyemi
fonte
Ainda bem que ajudou você.
Opeyemi
5

Talvez seja tarde demais, mas encontrei uma solução:

Você tem que editar no build.gradletanto o compileSdkVersion-> a mais recente (agora é 28). Curtiu isso:

android {
compileSdkVersion 28
defaultConfig {
    applicationId "NAME_OF_YOUR_PROJECT_DIRECTORY"
    minSdkVersion 21
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

ou você pode alterar a versão de implementação:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    api 'com.android.support:design:27.+'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
Indigo0087
fonte
4

Encontrou um plug-in bacana para resolver isso: cordova-android-support-gradle-release

plugin cordova add cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION = 27. + --save

zi88
fonte
1

As dependências devem ser aplicadas conforme mostrado abaixo para resolver esse problema:

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.android.support:support-v4:27.1.0'
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support:recyclerview-v7:27.1.0'
}

Não use a versão de:

v7: 28.0.0-alpha1

Sanche
fonte
1
Se você usar o SDK 28 de compilação e as ferramentas de construção 28.0.1, você pode.
norbDEV
1

Eu enfrentei o mesmo problema, mas resolvi com sucesso alterando a versão de compileSdkVersion para a mais recente, que é 29, e alterando a versão de targetSdkVersion para a última, que é 29.

Vá para o arquivo gradile.build e altere compilesdkversion e targetsdkversion.

Hadayat ullah
fonte
1

no meu caso, eu tentei File> Invalidate Cache/Restarte funcionou para mim.

Rohit Mandiwal
fonte
0

No meu caso, esse erro ocorreu enquanto eu estava usando o

implementation 'com.android.support:appcompat-v7:+'
implementation 'com.android.support:design:+'

bibliotecas junto com googles

implementation 'com.google.android.material:material-components:+'

biblioteca. Se este for o caso em seu projeto, eu recomendo fortemente remover completamente a biblioteca de componentes de materiais do Google de seu projeto.

laim2003
fonte
0
 buildscript {

    project.ext {
        supportLibVersion = '27.1.1'
        compileVersion = 28
        minSupportedVersion = 22
    }
}

e definir dependências:

implementation "com.android.support:appcompat-v7:$project.supportLibVersion"
Patel Viral
fonte