Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Devoxx 2013 FR - Beef you Android apps using Ja...

Devoxx 2013 FR - Beef you Android apps using Java Tools

Quality Tools for Android bundled together. https://github.com/stephanenicolas/Quality-Tools-for-Android/

stephanenicolas

March 27, 2013
Tweet

More Decks by stephanenicolas

Other Decks in Programming

Transcript

  1. 27/03/2013, 17h - 17h30 - Salle Miles Davis A Beef

    up your Android apps, using Java tools
  2. 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
  3. 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
  4. 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
  5. Initial Setup #install Sonar #install the Sonar Android Lint Plugin

    > git clone [email protected]: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
  6. Getting started # clone the repository on GitHub > git

    clone [email protected]:stephanenicolas/Quality-Tools-for-Android.git This projects combines many Quality Tools for Android.
  7. 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.
  8. Maven Profiles Junit + Robotium Robolectric UIAutomator Code coverage Quality

    checks (Checkstyle + findbugs + PMD + lint) Sonar standard emma cobertura ui automator spoon jacoco
  9. # 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 :
  10. # 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 :
  11. 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