1
resposta

[Bug] Erros na realização do build

Conforme acompanhando a aula de android room, utilizei na dependencias e realizei build que deu erro mostrado abaixo

dependencies {
    
   def room_version = "2.4.1"
    implementation "androidx.room:room-runtime:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version"
    
   implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("com.google.android.material:material:1.8.0")
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
}

ScriptCompilationException(errors=[ScriptCompilationError(message=Expecting an element, location=C:\Users\arthur cambraia\.gradle\.tmp\gradle-kotlin-dsl-12449924912236025375.tmp\build.gradle.kts (32:22)), ScriptCompilationError(message=Unexpected tokens (use ';' to separate expressions on the same line), location=C:\Users\arthur cambraia\.gradle\.tmp\gradle-kotlin-dsl-12449924912236025375.tmp\build.gradle.kts (32:24)), ScriptCompilationError(message=Unexpected tokens (use ';' to separate expressions on the same line), location=C:\Users\arthur cambraia\.gradle\.tmp\gradle-kotlin-dsl-12449924912236025375.tmp\build.gradle.kts (33:20)), ScriptCompilationError(message=Unexpected tokens (use ';' to separate expressions on the same line), location=C:\Users\arthur cambraia\.gradle\.tmp\gradle-kotlin-dsl-12449924912236025375.tmp\build.gradle.kts (34:25)), ScriptCompilationError(message=Unresolved reference: def, location=C:\Users\arthur cambraia\.gradle\.tmp\gradle-kotlin-dsl-12449924912236025375.tmp\build.gradle.kts (32:5)), ScriptCompilationError(message=Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
public val NamedDomainObjectContainer

tem alguma ideia que possa resolver este erro?

1 resposta

Oii, Arthur! Tudo bem?

O erro indica que a sintaxe do seu arquivo build.gradle.kts esta incorreta para definir a versão do Room.

A versão do Room é a 2.4.1, então sugiro, que ajuste a sintaxe do seu arquivo build.gradle.kts, por exemplo:

dependencies {
    val room_version = "2.4.1"
    implementation("androidx.room:room-runtime:$room_version")
    kapt("androidx.room:room-compiler:$room_version")
    
    // Restante das dependências...
}

No exemplo acima foi feita a substituição da linha annotationProcessor por kapt, que é a sintaxe correta para o Kotlin DSL. Feito isso, sincronize novamente e realize o build.

Deixo aqui também a documentação do Room, é super útil para nos ajudar durante o curso. Caso queira se aprofundar nos assuntos, segue os links:

A página pode abrir em inglês, caso não se sinta confortável com o idioma, cliquei com o botão direito do mouse em qualquer canto da página e escolha a opção "Traduzir para o português".

Espero que dê certo.

Bons estudos, Arthur!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software