Beef up your Android apps,     using Java tools  27/03/2013, 17h - 17h30 - Salle Miles Davis A
Beef up your Android apps, using           Java tools     Jérôme Van Der Linden       & Stéphane Nicolas     OCTO Technolo...
Jérôme Van Der Linden • Java / Android / JEE Architect  •   Design, development, audit  •   Industrialization of software ...
Stéphane Nicolas • 17 years of Java experience  •   Mostly teaching, programming, designing. • OSS softwares on GitHub  • ...
Quality Tools Available on Android    TestDroid                                Test Tools                               Re...
https://github.com/stephanenicolas/Quality-Tools-for-Android                  (http://goo.gl/pdwnq)                       ...
Initial Setup#install Eclipse Juno or IntelliJ                                                  #install maven 3.0.3+     ...
Getting started # clone the repository on GitHub > git clone git@github.com:stephanenicolas/Quality-Tools-for-Android.git ...
Project Structure                        •Main app + Robolectric : Maven Android project                        •Shared co...
Maven Profiles                                                                             Quality checks                 ...
Standard profile :Running tests and Quality checks                    Robotium          JUnit         Robolectric         ...
emma profile :JUnit tests and Emma code coverage in Sonar          Robotium      JUnit         Emma           Sonar   Lint...
cobertura profile :Robolectric tests and Cobertura code coverage in Sonar          Robolectric    Cobertura         Sonar ...
jacoco profile :Robolectric and standard tests and Jacoco code coverage in Sonar          Robotium         JUnit         R...
ui automator profile :Running UI Automator tests           UI            Sonar       AutomatorLint          findbugs      ...
Spoon profile :Running Junit & Robotium via Spoon                Robotium         JUnitLint     findbugs          PMD     ...
Conclusion                 Let’s take advantage of Java maturity.             Testing and building more robust apps can be...
Live Demohttps://github.com/stephanenicolas/Quality-Tools-for-Android                  (http://goo.gl/pdwnq)              ...
Question and comments ?
Upcoming SlideShare
Loading in...5
×

Devoxx France 2013 : Musclez vos apps android avec les outils du monde java

2,340

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,340
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Devoxx France 2013 : Musclez vos apps android avec les outils du monde java

  1. 1. Beef up your Android apps, using Java tools 27/03/2013, 17h - 17h30 - Salle Miles Davis A
  2. 2. Beef up your Android apps, using Java tools Jérôme Van Der Linden & Stéphane Nicolas OCTO Technology consultants @octotechnology 27 au 29 mars 2013
  3. 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. 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. 5. Quality Tools Available on Android TestDroid Test Tools Reporting Tools Sonar Spoon Monkey Runner CheckStyle FEST- Android PMD Mockito findbugs Lint EasyMockCalabash UI Robotium Robolectric JUnit Quality Tools Emma Cobertura Jacoco Clover Code Automator For Android coverage Emulator Maven Device Jenkins Andro VM Ant Vogar http://goo.gl/pdwnq Gradle
  6. 6. https://github.com/stephanenicolas/Quality-Tools-for-Android (http://goo.gl/pdwnq) 27 au 29 mars 2013
  7. 7. Initial Setup#install Eclipse Juno or IntelliJ #install maven 3.0.3+ Maven Jenkins#install ADT (for Eclipse) #install Jenkins#install a few Android SDK (i.e: 8, 11, 14, 17) #install Jenkins Android Emulator Plugin#install Hardware Acceleration from Intel#install X86 android emulator with HardwareAcceleration Support #install Sonar Cobertura findbugs PMD Check Sonar Style #install the Sonar Android Lint Plugin > git clone git@github.com:jeromevdl/sonar-android-lint-plugin.git Lint > mvn clean install && cp target/*.jar [SONAR_HOME]/extensions/plugins/ > sonar.sh restart Emma #install the Sonar Emma Plugin
  8. 8. 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. It demonstrates how to set up those tools. It is not intended to be used as a maven archetype. No project will need all of those technologies, take only what you need. All configurations work both in IntelliJ, Eclipse, Maven CLI and Jenkins.
  9. 9. 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.
  10. 10. Maven Profiles Quality checks (Checkstyle + Junit + Robotium Robolectric UIAutomator Code coverage Sonar findbugs + PMD + lint)standard emmacobertura uiautomator spoon jacoco
  11. 11. Standard profile :Running tests and Quality checks Robotium JUnit Robolectric UI Automator Lint findbugs PMD Check Style # run all tests > mvn clean install
  12. 12. emma profile :JUnit tests and Emma code coverage in Sonar Robotium JUnit Emma Sonar Lint findbugs PMD Check Style# run standard junit tests and get code coverage> mvn clean install –P emma# Report in Sonar> mvn sonar:sonar –P emma
  13. 13. cobertura profile :Robolectric tests and Cobertura code coverage in Sonar Robolectric Cobertura Sonar Lint findbugs PMD Check Style# run robolectric tests and get code coverage> mvn clean cobertura:cobertura –P cobertura# Report in Sonar> mvn sonar:sonar –P cobertura
  14. 14. jacoco profile :Robolectric and standard tests and Jacoco code coverage in Sonar Robotium JUnit Robolectric Jacoco Sonar Lint findbugs PMD Check Style# run robolectric tests and get code coverage> mvn clean install –P jacoco# Report in Sonar> mvn sonar:sonar –P jacoco
  15. 15. ui automator profile :Running UI Automator tests UI Sonar AutomatorLint findbugs PMD Check Style# run UI Automator tests> mvn clean install –P uiautomator> mvn sonar:sonar –P uiautomator
  16. 16. Spoon profile :Running Junit & Robotium via Spoon Robotium JUnitLint findbugs PMD Check Spoon Style # run JUnit & Robotium tests via spoon > mvn clean install –P spoon
  17. 17. Conclusion Let’s take advantage of Java maturity. Testing and building more robust apps can be easy. Choose technologies that suit your needs. qrcode.12511021.png Clone our project on GitHub, try it, contribute ! http://goo.gl/pdwnq
  18. 18. Live Demohttps://github.com/stephanenicolas/Quality-Tools-for-Android (http://goo.gl/pdwnq) 27 au 29 mars 2013
  19. 19. Question and comments ?

×