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

Devoxx 2013 FR - Beef you Android apps using Java Tools

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  5. Quality Tools Available on Android

    Quality
    Tools

    View Slide

  6. Quality Tools Available on Android

    Quality
    Tools

    View Slide

  7. 27 au 29 mars 2013

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



    (http://goo.gl/pdwnq)

    View Slide

  8. 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

    View Slide

  9. 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.

    View Slide

  10. 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.


    View Slide

  11. Maven Profiles

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

    View Slide

  12. Standard profile :

    View Slide

  13. emma profile :

    View Slide

  14. # 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 :

    View Slide

  15. # 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 :

    View Slide

  16. ui automator profile :

    View Slide

  17. Spoon profile :

    View Slide

  18. 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

    View Slide

  19. 27 au 29 mars 2013

    Live Demo

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



    (http://goo.gl/pdwnq)

    View Slide

  20. Question and comments ?

    View Slide