mobile macarons

24
http://www.gradlesummit.com Android’s New Build Wednesday, May 15, 13

Upload: tim-obrien

Post on 12-Jun-2015

124 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Mobile macarons

http://www.gradlesummit.com

Android’s New Build

Wednesday, May 15, 13

Page 2: Mobile macarons

http://www.gradlesummit.com @gradleware

Gradleware

• Build Automation

• Continuous Delivery

• Gradle

• Builds as easy and configurable as possible

Wednesday, May 15, 13

Page 3: Mobile macarons

http://www.gradlesummit.com @gradleware

Gradleware Summit 2013

• Santa Clara, CA

• June 13-14th

Wednesday, May 15, 13

Page 4: Mobile macarons

http://www.gradlesummit.com @gradleware

Gradle Summit 2013

Wednesday, May 15, 13

Page 8: Mobile macarons

http://www.gradlesummit.com @gradleware

A

B

i

ii

iii

iv

v

X

YJOIN JOIN

Wednesday, May 15, 13

Page 9: Mobile macarons

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

Page 10: Mobile macarons

http://www.gradlesummit.com @gradlewareWednesday, May 15, 13

Page 11: Mobile macarons

http://www.gradlesummit.com @gradlewareWednesday, May 15, 13

Page 12: Mobile macarons

http://www.gradlesummit.com @gradlewareWednesday, May 15, 13

Page 13: Mobile macarons

http://www.gradlesummit.com @gradleware

Free

Paid

Wednesday, May 15, 13

Page 14: Mobile macarons

http://www.gradlesummit.com @gradleware

ProdQA

QAProd

Free

Prod

Wednesday, May 15, 13

Page 15: Mobile macarons

http://www.gradlesummit.com @gradleware

Prod QA

QA

Prod

Free

Paid

QA

ARM x86

x86ARM

Wednesday, May 15, 13

Page 16: Mobile macarons

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

Page 17: Mobile macarons

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

Page 18: Mobile macarons

http://www.gradlesummit.com @gradleware

Gradle

• Support for

• Product Flavors

• Build Types

• Build Variant

Wednesday, May 15, 13

Page 19: Mobile macarons

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

Page 20: Mobile macarons

http://www.gradlesummit.com @gradleware

Build Type

• Debug, Release

• Debug flag

• Proguard Options

• Debug Signing

Wednesday, May 15, 13

Page 21: Mobile macarons

http://www.gradlesummit.com @gradleware

Build Variant

• ARM, x86

• Many different devices (more than just mobile)

Wednesday, May 15, 13

Page 22: Mobile macarons

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

Page 23: Mobile macarons

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

Page 24: Mobile macarons

http://www.gradlesummit.com @gradleware

android { buildTypes { debug { packageNameSuffix = “.debug” }

staging { packageNameSuffix = “.staging” debuggable = true debugSigned = true }

}

}

Wednesday, May 15, 13