Portuguese, Brazilian 字幕

← Configuring Generated Tasks

埋め込みコードを取得する
4言語

Showing Revision 8 created 06/20/2016 by Udacity Robot.

  1. Digamos que queiramos mudar
    um sinalizador de compilação no projeto Java.
  2. Podemos apenas adicionar configuração
    à tarefa compile Java.
  3. No entanto, diferente de projetos Java simples
  4. que têm um conjunto finito de tarefas
    como, compile Java, jar, test etc.
  5. Projetos Android podem ter
    um número indeterminado de tarefas,
  6. dependendo dos tipos de compilação
    e sabores do produto que declaramos.
  7. Além disso, os nomes dessas
    tarefas são gerados e são baseados
  8. no nome da variante específica
    para qual é a tarefa.
  9. Além disso, essas tarefas são
    criadas muito mais tarde no ciclo de vida
  10. da configuração do projeto.
  11. O que significa, na maioria dos casos,
  12. que não podemos fazer
    referência direta a elas em nosso script de compilação.
  13. Basicamente, precisamos
    resolver dois problemas.
  14. Primeiro, precisamos de um modo de fazer
    referência a cada tarefa usada na compilação
  15. de determinada variante sem ter
    de saber o nome real da tarefa.
  16. Simplesmente queremos configurar
    todas as tarefas de determinado tipo
  17. para todas as variantes.
  18. Depois, precisamos de um modo
    de adiar a configuração da tarefa
  19. até depois da criação de todas
    as variantes da compilação.
  20. O que significa que não podemos
    configurar a tarefa até que ela exista.
  21. O primeiro problema é resolvido
    pelo próprio plugin Gradle do Android,
  22. que agrupa todas as informações
    para incluir as tarefas
  23. associadas a qualquer variante
    em um objeto único.
  24. Há 3 tipos principais desses objetos,
    Variante de aplicativo,
  25. Variante de biblioteca e o Variante de teste.
  26. O tipo de variante que precisamos depende
    do tipo de projeto que estamos compilando.
  27. Variantes de aplicativo e
  28. Variantes de biblioteca são criadas para
    Aplicativos ou bibliotecas do Android respectivamente.
  29. E as Variantes de teste são criadas
    para APK de teste de dispositivo.
  30. Cada uma tem suas propriedades
    específicas mas todas tem tarefas
  31. comuns, como compilação de Java,
    mescla de recursos etc.
  32. O plugin do Android Griddle é
    muito legal e agrupa de modo ordenado todas
  33. as informações sobre uma variante para nós,
  34. mas o problema continua, como
    fazemos referência a esses objetos de variante?
  35. O problema é resolvido por aquilo
    que o Gradle chama de coleções ativas.
  36. Basicamente, como o plugin do
    Android cria variantes,
  37. elas são adicionadas a
    um tipo especial de coleção.
  38. Essas coleções nos permitem
    definir configurações para
  39. objetos que ainda não existem.
  40. Em vez disso, Gradle lembra
    da configuração e a executa
  41. quando um novo objeto é adicionado.
  42. Especificamos essa configuração
    chamando o método all
  43. em nossa coleção de variantes.
  44. Por exemplo, se quisermos configurar
    todas as tarefas de compilação Java para
  45. nossas variantes de aplicação
    adicionarem um argumento de compilador,
  46. fazemos algo deste tipo.
  47. Isso vai configurar cada tarefa Java.compile
    para cada tipo de compilação debug,
  48. independente de quantos
    sabores de produto tivemos configurado.
  49. Além disso, você não precisa
  50. tentar adivinhar qual deve ser
    os nomes finais de cada uma das tarefas.