🚀 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`?
- Dificuldade de Atualização: JARs manuais não avisam quando há bugs de segurança corrigidos em versões novas.
- 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.
- 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 arquivosettings.gradleoubuild.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.