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
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
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
110
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7.1k
golang-bob.pdf
iwatsukayura
0
150
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
200
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
280
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
190
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
SODA - FACT BOOK(JP)
sodainc
1
40k
GraphQL の onError と Nullability のこれから
quramy
0
200
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
130
LLM 101
dalinaum
0
360
contenteditable と日本語入力に向き合う
colorful12
0
230
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
510
Chasing Engaging Ingredients in Design
codingconduct
0
380
Git: the NoSQL Database
bkeepers
PRO
433
67k
Discover your Explorer Soul
emna__ayadi
2
1.3k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
A Modern Web Designer's Workflow
chriscoyier
699
190k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
550
Test your architecture with Archunit
thirion
2
2.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
820
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
880
Raft: Consensus for Rubyists
vanstee
143
7.8k
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 ???