Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Gradle, and the beauty of the command line
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
David González
November 26, 2013
Programming
300
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gradle, and the beauty of the command line
David González
November 26, 2013
More Decks by David González
See All by David González
A comprehensive guide to tracker protection on Android
malmstein
1
110
Building a Multiplatform library for iOS and Android
malmstein
9
1.4k
Unidirectional Data Flow on Android
malmstein
6
560
Introduction to Kotlin Coroutines
malmstein
0
200
A State Container Architecture for mobile applications
malmstein
0
180
Things I wish I knew before starting to work remote
malmstein
0
120
Remote, lonely and productive
malmstein
0
220
The source of all technical debt
malmstein
6
460
Android Architecture Blueprints
malmstein
0
330
Other Decks in Programming
See All in Programming
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
130
contenteditable と日本語入力に向き合う
colorful12
0
230
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
120
Performance Optimization With LLMs
xleitix
0
230
Event is what happens
moro
2
2.2k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.6k
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
370
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
280
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
140
Spec-driven Development with AI
simas
PRO
0
2.2k
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
250
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.2k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
47k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
340
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
590
Code Review Best Practice
trishagee
74
20k
Practical Orchestrator
shlominoach
192
12k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
960
Speed Design
sergeychernyshev
33
2.2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
500
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Transcript
@dggonzalez +David González
Process!
None
None
None
None
None
project structure
testing unit tests instrumentation tests robolectric monkey
None
None
None
None
None
None
None
None
flavours
! ! debug betaRelease release amazon
buildTypes { debug { packageNameSuffix ".debug" versionNameSuffix "-debug" } !
betaRelease { debuggable false jniDebugBuild false signingConfig signingConfigs.arteBetaRelease } ! release { debuggable false jniDebugBuild false signingConfig signingConfigs.arteRelease } }
custom config ! String tag = createBuildConstant("TAG", "ARTE_DEBUG") ! buildConfig
syncFrequency, providerAuthority, suggestionsAuthority, pushVersion, tag, xitiDomain, xitiSiteId, gcmServer ! Log.d(BuildConfig.TAG, ”stupid log”)
signing
! arteBetaRelease arteGooglePlay arteAmazon
publishing
! apply plugin: ‘deploygate' ! Properties props = new Properties()
props.load(new FileInputStream(file(project.property("DEPLOY.properties")))) ! arteRelease { storeFile file("../team-props/arte-android-keystore") storePassword props['signing.release.storePassword'] keyAlias props['signing.release.keyAlias'] keyPassword props['signing.release.keyPassword'] } arteBetaRelease { storeFile file("../team-props/arte.keystore") storePassword "THEPASSWORD" keyAlias "THEALIAS" keyPassword "THEALIASPASSWORD" } }
issues
! testing is slow no google play console almost weekly
updates backwards compatibility
advantages ! right direction Google support almost weekly updates flavours
customisable
contribute ! https://github.com/novoda/ AndroidBuildTools/issues ! https://github.com/novoda/gradle-android- test-plugin ! https://github.com/novoda/gradle-android- command-plugin
None
@dggonzalez www.novoda.com/blog
[email protected]
+David González ???