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
David González
November 26, 2013
Programming
290
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
100
Building a Multiplatform library for iOS and Android
malmstein
9
1.3k
Unidirectional Data Flow on Android
malmstein
6
560
Introduction to Kotlin Coroutines
malmstein
0
200
A State Container Architecture for mobile applications
malmstein
0
170
Things I wish I knew before starting to work remote
malmstein
0
120
Remote, lonely and productive
malmstein
0
210
The source of all technical debt
malmstein
6
460
Android Architecture Blueprints
malmstein
0
330
Other Decks in Programming
See All in Programming
Are APIs Still Relevant in the AI Era?
soyuka
0
440
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
470
phperだってパンチカードでコーディングしたい
o0h
PRO
0
250
すこし踏み込む CancellationToken
htkym
2
1.7k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
190
パーソナライズPodcastを作った話
repunit11
0
130
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
160
contenteditable と日本語入力に向き合う
colorful12
0
180
Simple Storage Service(S3) is not simple
iwatsukayura
0
230
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
950
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
450
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Mind Mapping
helmedeiros
1
400
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
740
Building Adaptive Systems
keathley
44
3.2k
Why Our Code Smells
bkeepers
PRO
340
58k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Making Projects Easy
brettharned
120
6.8k
How to Talk to Developers About Accessibility
jct
2
570
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 ???