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

Introduction to Gradle

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Introduction to Gradle

Avatar for Adrien Couque

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