Slide 1

Slide 1 text

27/03/2013, 17h - 17h30 - Salle Miles Davis A Beef up your Android apps, using Java tools

Slide 2

Slide 2 text

27 au 29 mars 2013 Beef up your Android apps, using Java tools Jérôme Van Der Linden & Stéphane Nicolas OCTO Technology consultants @octotechnology

Slide 3

Slide 3 text

Jérôme Van Der Linden • Java / Android / JEE Architect •  Design, development, audit •  Industrialization of software engineering • OSS softwares on GitHub •  Android Holo Colors, Sonar Android Lint Plugin • Appaloosa Store co-founder

Slide 4

Slide 4 text

Stéphane Nicolas • 17 years of Java experience •  Mostly teaching, programming, designing. • OSS softwares on GitHub •  RoboSpice, Quality Analysis Tools for Android, RoboDemo •  Contributor of android maven plugin • Quebecer-like, woodworker wanna be, OSS-fan, Android coder

Slide 5

Slide 5 text

Quality Tools Available on Android Quality Tools

Slide 6

Slide 6 text

Quality Tools Available on Android Quality Tools

Slide 7

Slide 7 text

27 au 29 mars 2013 https://github.com/stephanenicolas/Quality-Tools-for-Android (http://goo.gl/pdwnq)

Slide 8

Slide 8 text

Initial Setup #install Sonar #install the Sonar Android Lint Plugin > git clone git@github.com:jeromevdl/sonar-android-lint-plugin.git > mvn clean install && cp target/*.jar [SONAR_HOME]/extensions/plugins/ > sonar.sh restart #install the Sonar Emma Plugin #install Eclipse Juno or IntelliJ #install ADT (for Eclipse) #install a few Android SDK (i.e: 8, 11, 14, 17) #install Hardware Acceleration from Intel #install X86 android emulator with Hardware Acceleration Support #install maven 3.0.3+ #install Jenkins #install Jenkins Android Emulator Plugin Jenkins Maven Sonar Lint PMD Check Style findbug s Emma Cobertu ra

Slide 9

Slide 9 text

Getting started # clone the repository on GitHub > git clone git@github.com:stephanenicolas/Quality-Tools-for-Android.git This projects combines many Quality Tools for Android.

Slide 10

Slide 10 text

Project Structure • Main app + Robolectric : Maven Android project • Shared configuration : Maven parent project • Android Junit Tests : Maven Android project • UI Automator Tests : Maven Java project Eclipse projects follow maven submodules.

Slide 11

Slide 11 text

Maven Profiles Junit + Robotium Robolectric UIAutomator Code coverage Quality checks (Checkstyle + findbugs + PMD + lint) Sonar standard emma cobertura ui automator spoon jacoco

Slide 12

Slide 12 text

Standard profile :

Slide 13

Slide 13 text

emma profile :

Slide 14

Slide 14 text

# run robolectric tests and get code coverage > mvn clean cobertura:cobertura –P cobertura # Report in Sonar > mvn sonar:sonar –P cobertura Robolectr ic Cobertura Sonar cobertura profile :

Slide 15

Slide 15 text

# run robolectric tests and get code coverage > mvn clean install –P jacoco # Report in Sonar > mvn sonar:sonar –P jacoco Robolectr ic Jacoco Sonar jacoco profile :

Slide 16

Slide 16 text

ui automator profile :

Slide 17

Slide 17 text

Spoon profile :

Slide 18

Slide 18 text

Conclusion Let’s take advantage of Java maturity. Testing and building more robust apps can be easy. Choose technologies that suit your needs. Clone our project on GitHub, try it, contribute ! http://goo.gl/pdwnq qrcode.12511021.png

Slide 19

Slide 19 text

27 au 29 mars 2013 Live Demo https://github.com/stephanenicolas/Quality-Tools-for-Android (http://goo.gl/pdwnq)

Slide 20

Slide 20 text

Question and comments ?