mobile macarons
TRANSCRIPT
http://www.gradlesummit.com
Android’s New Build
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Gradleware
• Build Automation
• Continuous Delivery
• Gradle
• Builds as easy and configurable as possible
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Gradleware Summit 2013
• Santa Clara, CA
• June 13-14th
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Gradle Summit 2013
Wednesday, May 15, 13
http://www.gradlesummit.com @gradlewareWednesday, May 15, 13
http://www.gradlesummit.com @gradlewareWednesday, May 15, 13
http://www.gradlesummit.com @gradlewareWednesday, May 15, 13
http://www.gradlesummit.com @gradleware
A
B
i
ii
iii
iv
v
X
YJOIN JOIN
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
AiX
BiX
AiiX
BiiX
AiiiX
BiiiX
AivX
BivX
AvX
BvX
AiY
BiY
AiiY
BiiY
AiiiY
BiiiY
AivY
BivY
AvY
BvYWednesday, May 15, 13
http://www.gradlesummit.com @gradlewareWednesday, May 15, 13
http://www.gradlesummit.com @gradlewareWednesday, May 15, 13
http://www.gradlesummit.com @gradlewareWednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Free
Paid
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
ProdQA
QAProd
Free
Prod
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Prod QA
QA
Prod
Free
Paid
QA
ARM x86
x86ARM
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
A/ A/i/ A/i/X/build.xml A/i/Y/build.xmlA/ A/ii/ A/ii/X/build.xml A/ii/Y/build.xml
A/ A/iii/ A/iii/X/build.xml A/iii/Y/build.xml
No.
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
A/ A/i/ pom.xml
A/ A/ii/ pom.xml No.
A/ A/ii/ pom.xml
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Gradle
• Support for
• Product Flavors
• Build Types
• Build Variant
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Product Flavors
• Free vs. Paid
• Almost every successful application uses this model
• Source Code + Resource Overlay
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Build Type
• Debug, Release
• Debug flag
• Proguard Options
• Debug Signing
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Build Variant
• ARM, x86
• Many different devices (more than just mobile)
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
buildscript { repositories { mavenCentral() }
dependencies { classpath 'com.android.build:gradle:0.2' }}
apply plugin: 'android'
android { target = ‘android-15’
defaultConfig { versionCode = 12 versionName = “2.0” }
}
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
android { defaultConfig { versionCode = 12 minSdkVersion = 8 }
productFlavors { free { packageName = “com.example.myapp.free” minSdkVersion = 10 } paid { packageName = “com.example.myapp.paid” versionCode = 14 } }}
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
android { buildTypes { debug { packageNameSuffix = “.debug” }
staging { packageNameSuffix = “.staging” debuggable = true debugSigned = true }
}
}
Wednesday, May 15, 13