Este é minha primeira publicação sobre o Android Studio, ao utiliza-lo tive uma dificuldade para aprender o novo modo de tratar com as dependências utilizando o Gradle.
O Android Studio trabalha com um projeto principal e dentro dele seus módulos, quem faz a associação entre os módulos é o gradle, ao criarmos um app criamos um modulo principal, para adicionar uma biblioteca ao projeto devemos importar um novo modulo e nas configurações do modulo principal definir o outro modulo como biblioteca, porem ao importarmos esse modulo ele gera uma cópia na pasta do projeto, mas o que proponho nesta publicação é utilizar o projeto externo sem gerar uma cópia no projeto principal, assim não teremos ‘n’ cópias circulando por ai.
Para explicar melhor segue uma estrutura de projeto:
======================================
* my_projects/
*—projeto_1/
*——app_1/
*——-build.gradle
*——-settings.gradle
*—biblioteca_1/
*——lib_1/
*——-build.gradle
*——-settings.gradle
======================================
A intenção é adicionar a ‘lib_1′ do projeto ‘biblioteca_1′ como biblioteca(dependência) no ‘app_1′ do projeto ‘projeto_1′.
1 – Vamos abrir o settings.gradle do ‘app_1′ e configurar a biblioteca externa
include ':app_1' //include do modulo principal include ':lib_1' //include da biblioteca externa //configuracao de diretorio da biblioteca externa project(':lib_1').projectDir = new File(rootProject.projectDir, '../biblioteca_1/lib_1')
2 – Agora vamos abrir o build.gradle do ‘app_1′ e configura-lo. Basicamente devemos adicionar no bloco de dependências a instrução para compilar o projeto definido no settings.gradle
[...] dependencies { [...] compile project(':lib_1') }
3 – Pronto, utilize o ‘Sync Now’ que deve aparecer em uma barra amarela em cima do projeto para sincronizar e compilar o gradle ou compile o projeto que já vai aparecer a lib_1 em seu projeto como dependência.