mudança dependente -Gradle Android

versão android estúdio após a atualização para a versão 3.xx, Gradle Então o que mudou?

mudança dependente Gradle

3.0 atrás após 3,0 explicação para o trabalho
compilar implementação Dependência de módulos estão disponíveis em tempo de compilação, e apenas disponível para os consumidores no módulo de tempo de execução. Para a construção de implementação em larga multi-projecto em vez de usar api / compilação pode reduzir significativamente o tempo de construção, porque pode reduzir a quantidade do projeto para construir o sistema precisa de ser recompilados. A maioria dos aplicativos e módulos de teste deve usar esta configuração. Use implementação dependente maneira de projeto ou biblioteca, a biblioteca em tempo de compilação, apenas para o módulo atual visível, não é visível para o outro módulo.
compilar api Dependência de módulos estão disponíveis em tempo de compilação e tempo de execução também disponível para os consumidores e o módulo em tempo de compilação. Esta configuração é semelhante à compilação comportamento (agora obsoleto), em circunstâncias normais, você só deve usá-lo no módulo de biblioteca. módulo de aplicação deve usar a implementação, a menos que você deseja abrir sua API para os módulos de teste individuais. Use api maneira de contar projeto ou biblioteca que podem ser visíveis para outro módulo em tempo de compilação e tempo de execução.
forneceu compile-Only Dependência de módulo está disponível apenas em tempo de compilação, e seus consumidores não está disponível na compilação ou tempo de execução. Este comportamento é semelhante à configuração fornecida (agora preterido). Use compileOnly maneira de depender do projeto ou biblioteca que pode ser utilizada de forma eficaz somente em tempo de compilação.
apk runtime-Only Módulo e suas dependências estão disponíveis para os consumidores só em tempo de execução. Esta configuração se comporta como apk (agora obsoleto). Use runtimeOnly maneira de contar projeto ou biblioteca, que só está disponível em tempo de execução eficaz.
3,0 maneira frente-dependente Depois da forma 3,0-dependente
compilar IMPLEMENTAÇÃO / api
forneceu compileOnly
apk runtimeOnly
testCompile testImplemention
debugompile debugImplemention
releaseCompile releaseImplemention

instrução de configuração dependente Gradle

  • execução (compilação): isto só no interior do módulo, o que depende do conteúdo do módulo não é exposto ao exterior.
  • api (compilação): e compilação
    ação, como o módulo atual será exposto a outros conteúdos do módulo em que se baseia. Utilize este método se baseia em bibliotecas estarão envolvidos na compilação e empacotamento.
  • compileOnly (fornecida): bibliotecas dependentes utilizar este modo válido somente no momento de compilação, que não estão envolvidos na embalagem.
  • runtimeOnly (APK): bibliotecas dependentes utilizar este modo para participar apenas quando embalado gerado APK não irá participar em tempo de compilação.
  • testImplementation (testCompile): Apenas válida quando a compilação de código de teste e a unidade final, testando APK embalados.
  • debugImplementation (debugCompile): Só é válido quando compilar modo de depuração e depurar apk pacote final.
  • releaseImplementation (releaseCompile): somente para o modo de lançamento compilação embalados e apk lançamento final.

A diferença entre a implementação e api

  • implementação: Esta dependência compila comando, o projeto tem projetos dependentes não terá acesso a qualquer programa que depende da utilização do comando compilado, que está escondido dentro do dependente, não no público externo, não tem um transitivo dependente . construção Gradle mais rápido do que api.
  • api: equivalente a compilar a instrução, as modifica comando de operação da interface externa, todos módulo dependente e precisa de módulo a ser recompilados, tendo transitivo dependência. construção Gradle mais lento do que a implementação.

build.gradle projeto
Aqui Insert Picture Descrição

  • buildscript: Gradle usado para carregar as necessidades de script para usar seus próprios recursos, incluindo o recurso pode declarar dependências de terceiros plug-ins, o endereço do repositório Maven, etc.
  • repositórios para downloads de repositório de código fonte
  • jcente é um novo armazém central remoto, compatível depósito central Maven, e melhor desempenho
  • Google é o Google Code hospedagem repositório
  • dependências são geralmente necessários para executar ferramenta Gradle Gradle
  • ferramentas Gradle execução classpath necessários para endereço, números de versão geralmente consistentes com a versão de estúdio
  • allproject é a configuração de todo o projecto, tais como a diferença entre repositórios e acima buildscript de allproject em que: o projecto anterior allproject inteiro si é dependente da necessidade, o que é necessário para executar roteiro Gradle dependente (Gradle plug-in), respectivamente, e o correspondente repositório maven plug-dependência
  • Quando a tarefa clara limpa prazo Gradle, definida aqui para executar tarefa. A tarefa herdada de apagar, apagar o diretório raiz do diretório de construção.
Publicado 18 artigos originais · ganhou elogios 1 · vista 777

Acho que você gosta

Origin blog.csdn.net/aha_jasper/article/details/104769173
Recomendado
Clasificación