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
Gradle, and the beauty of the command line
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
David González
November 26, 2013
Programming
4
280
Gradle, and the beauty of the command line
David González
November 26, 2013
Tweet
Share
More Decks by David González
See All by David González
A comprehensive guide to tracker protection on Android
malmstein
1
62
Building a Multiplatform library for iOS and Android
malmstein
9
1.2k
Unidirectional Data Flow on Android
malmstein
6
520
Introduction to Kotlin Coroutines
malmstein
0
140
A State Container Architecture for mobile applications
malmstein
0
150
Things I wish I knew before starting to work remote
malmstein
0
80
Remote, lonely and productive
malmstein
0
180
The source of all technical debt
malmstein
6
430
Android Architecture Blueprints
malmstein
0
270
Other Decks in Programming
See All in Programming
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
200
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
180
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
520
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
350
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
350
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
530
Implementation Patterns
denyspoltorak
0
260
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
5.7k
Architectural Extensions
denyspoltorak
0
240
Graviton と Nitro と私
maroon1st
0
170
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
400
Basic Architectures
denyspoltorak
0
620
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
190
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
82
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A better future with KSS
kneath
240
18k
Bash Introduction
62gerente
615
210k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
50
Color Theory Basics | Prateek | Gurzu
gurzu
0
190
Fireside Chat
paigeccino
41
3.8k
Leo the Paperboy
mayatellez
4
1.3k
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 ???