Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
34
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
54
ML Session n°8
acq
0
52
ML Session n°7
acq
0
17
ML Session n°6
acq
0
25
ML Session n°5
acq
0
46
ML Session n°4
acq
0
24
ML Session n°3
acq
0
65
ML Session n°2
acq
1
58
ML Session n°1
acq
0
53
Other Decks in Technology
See All in Technology
2.5Dモデルのすべて
yu4u
2
610
Postmanを使いこなす!2025年ぜひとも押さえておきたいPostmanの10の機能
nagix
2
120
君も受託系GISエンジニアにならないか
sudataka
2
370
Platform Engineeringは自由のめまい
nwiizo
4
1.9k
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.1k
データ基盤の成長を加速させる:アイスタイルにおける挑戦と教訓
tsuda7
3
650
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
2.7k
自動テストの世界に、この5年間で起きたこと
autifyhq
10
7.1k
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
15
5.5k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.5k
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
6
1.4k
日経電子版 x AIエージェントの可能性とAgentic RAGによって提案書生成を行う技術
masahiro_nishimi
1
290
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
74
9.2k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Building an army of robots
kneath
302
45k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
We Have a Design System, Now What?
morganepeng
51
7.4k
A Philosophy of Restraint
colly
203
16k
BBQ
matthewcrist
86
9.5k
Speed Design
sergeychernyshev
25
780
The World Runs on Bad Software
bkeepers
PRO
67
11k
A designer walks into a library…
pauljervisheath
205
24k
Visualization
eitanlees
146
15k
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