Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Gradle

Introduction to Gradle

Adrien Couque

January 07, 2014
Tweet

More Decks by Adrien Couque

Other Decks in Technology

Transcript

  1. Fichiers Gradle • build.gradle  :  configura+on  du  build   •

    settings.gradle  :  emplacement  des  fichiers   build.gradle  (si  plusieurs  modules)   • gradlew  :  wrapper  Gradle   • gradlew.bat  :  wrapper  (Windows)   • gradle/  :  dépendances  de  gradlew(.bat)
  2. Tasks • clean  :  neHoie  le  dossier  build/   •

    assemble  :  compile  le  projet   • check  :  lance  les  tests  et  vérifica+ons  (ex  :   lint)   • build  :  assemble  +  check
  3. Build Types Par  défaut  :   • Debug  :  

    – debuggable   – signé  automa+quement  (path  :  ~/.android/debug.keystore)   • Release  :   – non  debuggable   – doit  être  signé  (via  keystore  spécifique)   Possibilité  de  customiser  (permissions,   ressources,  ...)  et  d’ajouter  d’autres  build  types
  4. Dépendances • Librairie  locale   compile file(‘libs/foo.jar’) • Librairie  distante

     (par  défaut  :  Maven  Central)   compile ‘com.google.foo:foo:11.0.2’ Nouveauté  Gradle  :  fichiers  aar  :   • jar  :  code  Java,  pas  de  ressources   • aar  :  archive  Android  (uniquement  pour  Gradle)
  5. Product flavors • Permet  de  générer  plusieurs  applica+ons  à  

    par+r  du  même  code   • Peuvent  être  configurées  indépendamment   (ex  :  package,  min  SDK,  ...)   • Build  Type  +  Product  Flavor  =  Build  Variant   • Généralement  :  sourceSets  différents
  6. Product flavors : source sets conflicts Ecrase *.java Layouts Drawables

    Assets Menus Raw ... Fusionne AndroidManifest.xml colors.xml strings.xml styles.xml attrs.xml
  7. Multi-flavor variants • Possibilité  de  définir  plusieurs  variantes  en  

    même  temps android { flavorGroups "abi", "version" productFlavors { freeapp { flavorGroup "version" ... } x86 { flavorGroup "abi" ... } } } • x86-freeapp-debug • x86-freeapp-release • arm-freeapp-debug • arm-freeapp-release • mips-freeapp-debug • mips-freeapp-release • x86-paidapp-debug • x86-paidapp-release • arm-paidapp-debug • arm-paidapp-release • mips-paidapp-debug • mips-paidapp-release