Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Gradle
Search
Adrien Couque
January 07, 2014
Technology
0
37
Introduction to Gradle
Adrien Couque
January 07, 2014
Tweet
Share
More Decks by Adrien Couque
See All by Adrien Couque
A roadmap to psychohistory
acq
0
85
ML Session n°8
acq
0
59
ML Session n°7
acq
0
22
ML Session n°6
acq
0
31
ML Session n°5
acq
0
53
ML Session n°4
acq
0
30
ML Session n°3
acq
0
92
ML Session n°2
acq
1
82
ML Session n°1
acq
0
81
Other Decks in Technology
See All in Technology
学習データって増やせばいいんですか?
ftakahashi
2
300
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
310
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
1
250
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
法人支出管理領域におけるソフトウェアアーキテクチャに基づいたテスト戦略の実践
ogugu9
1
220
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
130
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
730
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.4k
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
5
1.5k
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
790
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.2k
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
270
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
527
40k
Done Done
chrislema
186
16k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Designing for Performance
lara
610
69k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A Tale of Four Properties
chriscoyier
162
23k
GraphQLとの向き合い方2022年版
quramy
50
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Transcript
Confidentiel © 2014 Applidium | Focus On : Gradle Focus
On
None
Gradle User Guide
Gradle Build automa+on • Compila+on • Packaging
• Tests • Déploiements make
Build tools
Build tools
Démo 1 : Java
Structure du projet Ancien Nouveau
Structure du projet : fichiers spécifiques Ancien Nouveau
Structure du projet Ancien Nouveau
Structure du projet : dépendances Ancien Nouveau
Structure du projet : sources Ancien Nouveau
Structure du projet : ressources Ancien Nouveau
Structure du projet : manifeste Ancien Nouveau
Structure du projet : build Ancien Nouveau
Structure du projet : résultat Ancien Nouveau
Structure du projet : résultat Ancien Nouveau
Démo 2 : Android
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)
Tasks • clean : neHoie le dossier build/ •
assemble : compile le projet • check : lance les tests et vérifica+ons (ex : lint) • build : assemble + check
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
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)
Démo 3 : Sanofi
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
Product flavors : source sets conflicts Ecrase *.java Layouts Drawables
Assets Menus Raw ... Fusionne AndroidManifest.xml colors.xml strings.xml styles.xml attrs.xml
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
Démo 4 : VinciPark
Démo 5 : RMN Grand Palais
None
None