🚀 6.2 Gerenciamento de Dependências com Gradle

A era de baixar arquivos .jar e colá-los em uma pasta libs acabou. No Android Studio 2023.1, o Gradle gerencia todo o ciclo de vida das bibliotecas, resolvendo automaticamente conflitos de versão e dependências transitivas.

O poder da implementação (implementation)

Ao adicionar uma linha no build.gradle, o Gradle baixa a biblioteca do repositório remoto (MavenCentral ou Google Maven) e a disponibiliza em todo o seu projeto:

dependencies {
// Basta ESSA LINHA para trazer o Google Calendar + todas as suas dependências!
implementation 'com.google.apis:google-api-services-calendar:v3-rev20220715-2.0.0'

}

## Por que não usar a pasta `libs`?
 
  1. Dificuldade de Atualização: JARs manuais não avisam quando há bugs de segurança corrigidos em versões novas.
  2. Duplicação de Código: Muitas bibliotecas dependem das mesmas ferramentas (ex: GSON). O Gradle garante que apenas uma versão dessas ferramentas seja incluída no app final.
  3. R8/ProGuard: O Gradle integra-se ao processamento de minificação de código, removendo partes das bibliotecas que seu app não usa, tornando o APK/AAB muito menor.

Java 17 e Compatibilidade

No Java 17, as bibliotecas do Google rodam de forma nativa e performática. Certifique-se de que o nível de compilação do seu projeto está correto:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
}

IMPORTANT

Repositório Google: Verifique se o repositório google() está listado no início do seu arquivo settings.gradle ou build.gradle (dependendo da versão do seu projeto). É lá que as bibliotecas oficiais residem.

TIP

Caso precise de uma biblioteca que insiste em ser fornecida apenas como JAR, o Gradle permite incluí-la via: implementation fileTree(dir: 'libs', include: ['*.jar']) Mas lembre-se: esta deve ser sempre a sua última opção tecnológica.


⬅️ Capítulo Anterior | Próximo Capítulo ➡️