O modo recomendado pelo plugin Gradle do Google para configurar seus arquivos gradle para criar vários projetos tem algumas falhas Se você tiver vários projetos dependendo de um projeto de biblioteca, este post explica brevemente a configuração recomendada do Google, suas deficiências e recomenda uma maneira diferente de configurar seus arquivos gradle para suporta configurações de vários projetos no Android Studio:
Uma configuração alternativa de multiprojetos para o android studio
Uma maneira diferente:
Acontece que há uma maneira melhor de gerenciar vários projetos no Android Studio. O truque é criar projetos separados do Android Studio para suas bibliotecas e informar ao gradle que o módulo da biblioteca da qual seu aplicativo depende está localizado no diretório do projeto da biblioteca. Se você quiser usar esse método com a estrutura do projeto que descrevi acima, faça o seguinte:
- Crie um projeto do Android Studio para a biblioteca StickyListHeaders
- Crie um projeto do Android Studio para App2
- Crie um projeto do Android Studio para App1
- Configure App1 e App2 para criar os módulos no projeto StickyListHeaders.
O quarto passo é a parte mais difícil, então esse é o único passo que descreverei em detalhes. Você pode fazer referência a módulos externos ao diretório do seu projeto adicionando uma instrução de projeto no arquivo settings.gradle e definindo a propriedade projectDir no objeto ProjectDescriptor retornado pela instrução do projeto:
O código que é necessário inserir settings.gradle
:
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
Se você fez isso corretamente, notará que os módulos referenciados pelo seu projeto aparecerão no navegador do projeto, mesmo que esses módulos sejam externos ao diretório do projeto:
Isso permite que você trabalhe no código da biblioteca e no código do aplicativo simultaneamente. A integração do controle de versão também funciona bem quando você faz referência a módulos externamente dessa maneira. Você pode confirmar e enviar suas modificações ao código da biblioteca, assim como confirmar e enviar modificações ao código do aplicativo.
Essa maneira de configurar vários projetos evita as dificuldades que afetam a configuração recomendada do Google. Como estamos fazendo referência a um módulo que está fora do diretório do projeto, não precisamos fazer cópias extras do módulo de biblioteca para cada aplicativo que depende dele, e podemos fazer a versão de nossas bibliotecas sem nenhum tipo de bobagem do sub-módulo git.
Infelizmente, é muito difícil encontrar essa outra maneira de configurar vários projetos. Obviamente, não é algo que você descobrirá olhando para o guia do Google e, neste momento, não há como configurar seus projetos dessa maneira usando a interface do usuário do Android Studio.