Slide 1

Slide 1 text

@dggonzalez +David González

Slide 2

Slide 2 text

Process!

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

project structure

Slide 9

Slide 9 text

testing unit tests instrumentation tests robolectric monkey

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

flavours

Slide 19

Slide 19 text

! ! debug betaRelease release amazon

Slide 20

Slide 20 text

buildTypes { debug { packageNameSuffix ".debug" versionNameSuffix "-debug" } ! betaRelease { debuggable false jniDebugBuild false signingConfig signingConfigs.arteBetaRelease } ! release { debuggable false jniDebugBuild false signingConfig signingConfigs.arteRelease } }

Slide 21

Slide 21 text

custom config ! String tag = createBuildConstant("TAG", "ARTE_DEBUG") ! buildConfig syncFrequency, providerAuthority, suggestionsAuthority, pushVersion, tag, xitiDomain, xitiSiteId, gcmServer ! Log.d(BuildConfig.TAG, ”stupid log”)

Slide 22

Slide 22 text

signing

Slide 23

Slide 23 text

! arteBetaRelease arteGooglePlay arteAmazon

Slide 24

Slide 24 text

publishing

Slide 25

Slide 25 text

! 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" } }

Slide 26

Slide 26 text

issues

Slide 27

Slide 27 text

! testing is slow no google play console almost weekly updates backwards compatibility

Slide 28

Slide 28 text

advantages ! right direction Google support almost weekly updates flavours customisable

Slide 29

Slide 29 text

contribute ! https://github.com/novoda/ AndroidBuildTools/issues ! https://github.com/novoda/gradle-android- test-plugin ! https://github.com/novoda/gradle-android- command-plugin

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

@dggonzalez www.novoda.com/blog [email protected] +David González ???