Olá, meu projeto está apresentando um erro ao executar Eu acho que até entendo o que está escrito, mas não sei resolver. Se alguém puder ajudar, agradeço
Olá, meu projeto está apresentando um erro ao executar Eu acho que até entendo o que está escrito, mas não sei resolver. Se alguém puder ajudar, agradeço
Oi Juan, tudo bem?
Pelos erros que consigo ver pelo print, vou tentar te ajudar.
Parece que o erro está relacionado ao nível de compilação do SDK do Android e às dependências do projeto. Vamos dividir o problema em duas partes:
Atualizar a versão do plugin do Gradle do Android: O erro indica que a versão máxima recomendada do plugin Gradle do Android é a 8.0.2, mas você está usando a versão 33 do SDK. Para resolver isso, você precisa atualizar a versão do plugin Gradle do Android para uma que suporte o SDK de versão 34 ou posterior.
Abra o arquivo build.gradle
do projeto e verifique a linha onde é definida a versão do plugin do Gradle, que deve se parecer com isso:
android {
...
buildToolsVersion "x.x.x" // Alguma versão
...
}
Atualize a versão do plugin do Gradle para uma que suporte o SDK 34 ou posterior. Por exemplo, você pode tentar atualizar para a versão 8.1.0:
dependencies {
classpath 'com.android.tools.build:gradle:8.1.0'
}
Salve o arquivo após fazer a alteração.
Atualizar o compileSdk
e as dependências relacionadas:
Além de atualizar a versão do plugin do Gradle, você também precisará atualizar o nível de compilação do SDK (o compileSdk
) e as dependências relacionadas ao AndroidX Core. Atualmente, o erro indica que essas dependências requerem a versão 34 ou posterior do SDK.
No mesmo arquivo build.gradle
, procure a linha que define o nível de compilação do SDK:
android {
compileSdkVersion 33
...
}
Atualize a versão do compileSdk
para pelo menos 34:
android {
compileSdkVersion 34
...
}
Em seguida, procure as dependências que utilizam o AndroidX Core e atualize-as para a versão 34 ou posterior. Por exemplo:
dependencies {
implementation 'androidx.core:core:1.12.0'
implementation 'androidx.core:core-ktx:1.12.0'
// Outras dependências do projeto
}
Salve o arquivo após fazer essas alterações.
Após realizar essas modificações, sincronize o projeto com o Gradle e tente compilar novamente. Isso deve resolver o problema relacionado às dependências e ao nível de compilação do SDK. Por favor, se não resolver, mande seu repositório do github. Se surgirem outros problemas, verifique os detalhes do erro para ajudar a identificar a causa específica. E é importante que você copie os erros completos, pelo print podem não vir todos.
Um abraço e bons estudos.
Oi Lorena, assim, meu código continua não compilando. Diz aqui que não pode achar método "classpath()" para o argumento passado.
Erro:
Build file 'C:\Users\IEPRO\Desktop\ALURA\Orgs\app\build.gradle' line: 36
A problem occurred evaluating project ':app'.
> Could not find method classpath() for arguments [com.android.tools.build:gradle:8.1.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
* Try:
> Run with --info or --debug option to get more log output.
(muitas linhas de exception)
Meu código do build.gradle (:app):
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
android {
namespace 'br.com.alura.orgs'
compileSdk 34
defaultConfig {
applicationId "br.com.alura.orgs"
minSdk 24
targetSdk 34
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:8.1.0'
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.core:core-ktx:1.12.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
Eu realmente sou bem novo na área, perdão se for algum erro meio óbvio
Oi Juan!
O problema é que você está tentando usar a definição classpath
no arquivo build.gradle
do módulo do aplicativo (app
), mas ela é uma definição específica para o arquivo build.gradle
do projeto principal.
Para corrigir esse problema, você precisa mover a definição classpath
do com.android.tools.build:gradle
para o arquivo build.gradle
do projeto (normalmente encontrado na pasta raiz do projeto). Geralmente, esse arquivo tem o nome build.gradle
(sem o sufixo app
).
O arquivo build.gradle
do projeto deve ser parecido com o seguinte:
// Arquivo build.gradle do projeto (normalmente na pasta raiz do projeto)
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.1.0'
}
}
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
// Restante do conteúdo...
Certifique-se de que a definição classpath 'com.android.tools.build:gradle:8.1.0'
está dentro do bloco buildscript
e dependencies
, conforme mostrado acima.
Depois de fazer essa alteração, sincronize o projeto novamente com o Gradle para garantir que as mudanças sejam aplicadas corretamente. Seu código deverá compilar sem problemas.
Se não funcionar, peço que mande o repositório do projeto no github, vai ser melhor pra te ajudar.
Um abraço e bons estudos.
Opa Lorena, assim, consegui resolver, mas não foi a partir do teu método. Não tinha dado certo, tentei várias vezes, de diferentes jeitos, lendo e relendo as tuas respostas, mas nada deu certo. Resolvi, então, desinstalar e reinstalar o Android Studio. Quando comecei o curso, havia instalado no meu pc a versão Flamingo (?), mas, quando reinstalei, veio a versão Girafa (?), e deu certo. Executei o projeto e não houve nada de errado. Mesmo assim, muito obrigado pela ajuda e atenção. Com estas tuas dicas posso ter algum recurso quando der algo errado de novo. Valeu mesmo