Depois de importar um projeto Eclipse para o Android Studio, vejo dois build.gradle
arquivos:
1 - <PROJECT_ROOT>\build.gradle
2 - <PROJECT_ROOT>\app\build.gradle
A primeira versão é mais curta, a segunda versão contém definições para compileSdkVersion
, etc.
Qual é o propósito de ter dois arquivos separados? Existem tarefas de construção separadas?
Respostas:
<PROJECT_ROOT>\app\build.gradle
é específico para o módulo de app .<PROJECT_ROOT>\build.gradle
é um "arquivo de construção de nível superior" onde você pode adicionar opções de configuração comuns a todos os subprojetos / módulos.Se você usar outro módulo em seu projeto, como uma biblioteca local, você terá outro
build.gradle
arquivo:<PROJECT_ROOT>\module\build.gradle
Por exemplo, em seu arquivo de nível superior, você pode especificar estas propriedades comuns:
Na tua
app\build.gradle
fonte
build.gradle
presença do arquivo é obrigatória para acionar uma compilação? Além disso, o arquivo de compilação de nível superior chama arquivos de nível inferior? (Embora não haja nenhuma evidência disso.)rootProject.ext.compileSdkVersion
construção é muito informativa.Da documentação oficial:
Arquivo de construção de projeto
<PROJECT_ROOT>\build.gradle
ou o Arquivo de construção do projeto é para todo o projeto, portanto, será usado para configurações globais do projeto. Um arquivo de construção de projeto típico contém o seguinte:Arquivo de construção de módulo
<PROJECT_ROOT>\app\build.gradle
ou o Module Build File é para um módulo específico, portanto, será usado para configurações de nível de módulo específicas. Um arquivo de construção de módulo contém o seguinte:você pode ler os documentos oficiais aqui:
Configurações de construção de projetos e módulos
fonte