SlideShare a Scribd company logo
1 of 19
Download to read offline
Android Tools for Developers


       Paul Marois - GenYmobile
Introduction

Who Am I ?
● Android Developer.
● Android GENYMOBILE employee.

What this presentation will be ?
● A totally subjective presentation about official tools I find
   interesting or useful.
● Not about tools presented elsewhere in OWF.
Emulator
Emulator
Latest addition

GPU Support
 ● SDK tools > 17
 ● emulator -avd <avd_name> -gpu on

Improved CPU performance

More hardware feature emulation
● SDKController in tools/apps/
● adb forward tcp:1970 localabstract:android.sdk.controller
    ○ MultiTouch Input Emulation
    ○ Sensor Emulation
Emulator
Emulator Telnet Interface
Emulator


  Telephony          DDMS / Emulator




   Camera               Webcam




   Sensor            Tethered Device




  Multitouch         Tethered Device




NFC / Bluetooth         Future ?
New Wizard & Layout
   Configuration
Lint
●   Available in ADT > 16.
●   Bug detector.
●   Multiple Inputs file types : xml, java, ...
●   Multiple Output file types : text, html, xml, ...
●   Multiple Front-Ends : Eclipse, IntelliJ, command line.
●   Multiple severity warnings.
●   Jenkins Plugin.
     ○ https://wiki.jenkins-ci.org/display/JENKINS/Android+Lint+Plugin
●   API to write additional checks.
Lint
Create Your Own Rules

●   Import lint_api.jar

●   Create a detector which can identify one or more different types of
    "issues" that you'll create too.
     ○ public class MyDetector extends ResourceXmlDetector

●   Provide your own registry.
     ○ public class MyIssueRegistry extends IssueRegistry

●   Create your manifest
     ○ Lint-Registry: owf.demo.MyIssueRegistry

●   Put the jar into ~/.android/lint folder
Device Monitor
HierarchyViewer
Device Monitor
HierarchyViewer

●   Do not work on devices for security reason
     ○ https://github.com/romainguy/ViewServer
     ○ Requires Internet Permission
     ○ Mode Debug only

●   onCreate :
     ○ ViewServer.get(this).addWindow(this);
●   onDestroy
     ○ ViewServer.get(this).removeWindow(this);
●   onResume
     ○ ViewServer.get(this).setFocusedWindow(this);

●   Customizable
     ○ @ViewDebug.ExportedProperty
Device Monitor
adb command lines

●    Adb bugreport
      ○ Complete log of the system.

●    adb shell dumpsys : log of services
      ○ ex : adb shell dumpsys meminfo <pid>

    Exs :
        SurfaceFlinger                 permission
        meminfo                        batteryinfo
        alarm                          phone
        network_management             bluetooth
        appwidget                      power
        nfc                            gfxinfo
        audio                          vibrator
        notification                   hardware
        battery                        wallpaper
                                       ...
Device Monitor
Ex : adb shell dumpsys meminfo <pid>
Device Monitor
Systrace

●   Settings > Developer Options > Enable Traces
●   sdk/tools/systrace
●   python ./systrace.py
Device Monitor
Traceview
Device Monitor
Monkey


●   Generate pseudo-random streams of user events on an emulator
    or device
●   adb shell monkey [options] <event-count>
     ○ ex : adb shell monkey -p com.google.android.apps.iosched -v
        500
And more...


●   Draw9patch
●   OpenGLTracer
●   Procrank

●   DexGuard
●   AndroVM
●   AndroidAnnotations
●   RenderScript

●   ETC...
Thanks




Q&A
Bonus
MAT

More Related Content

Viewers also liked

Patrice Bertrand - Foss models revisited, Is freemium a bad word ?
Patrice Bertrand - Foss models revisited, Is freemium a bad word ?Patrice Bertrand - Foss models revisited, Is freemium a bad word ?
Patrice Bertrand - Foss models revisited, Is freemium a bad word ?Paris Open Source Summit
 
EOLE / OWF 12 - French m&a in foss-olivier hugot (eole2012)
EOLE / OWF 12 - French m&a in foss-olivier hugot (eole2012)EOLE / OWF 12 - French m&a in foss-olivier hugot (eole2012)
EOLE / OWF 12 - French m&a in foss-olivier hugot (eole2012)Paris Open Source Summit
 
Cloud / Build to cloud using Open Source - Jean-Francois Caenen, CapGemini
Cloud / Build to cloud using Open Source - Jean-Francois Caenen, CapGeminiCloud / Build to cloud using Open Source - Jean-Francois Caenen, CapGemini
Cloud / Build to cloud using Open Source - Jean-Francois Caenen, CapGeminiParis Open Source Summit
 
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...Paris Open Source Summit
 
OWF13 - Multiple Clouds and multiple interest communities
OWF13 - Multiple Clouds and multiple interest communitiesOWF13 - Multiple Clouds and multiple interest communities
OWF13 - Multiple Clouds and multiple interest communitiesParis Open Source Summit
 
Require 'knowledgecommons' # This currently fails / Mike Linksvayer
Require 'knowledgecommons' # This currently fails / Mike LinksvayerRequire 'knowledgecommons' # This currently fails / Mike Linksvayer
Require 'knowledgecommons' # This currently fails / Mike LinksvayerParis Open Source Summit
 
Google AppEngine @Open World Forum 2012 - 12 oct.2012
Google AppEngine @Open World Forum 2012 - 12 oct.2012Google AppEngine @Open World Forum 2012 - 12 oct.2012
Google AppEngine @Open World Forum 2012 - 12 oct.2012Paris Open Source Summit
 
OWF12/Open Cloud Strategies Openstackinaction enovance
OWF12/Open Cloud Strategies Openstackinaction enovanceOWF12/Open Cloud Strategies Openstackinaction enovance
OWF12/Open Cloud Strategies Openstackinaction enovanceParis Open Source Summit
 
Cloud / Orange Cloud et OW2 Case study - Alexandre Lefebvre, Orange
Cloud / Orange Cloud et OW2 Case study - Alexandre Lefebvre, OrangeCloud / Orange Cloud et OW2 Case study - Alexandre Lefebvre, Orange
Cloud / Orange Cloud et OW2 Case study - Alexandre Lefebvre, OrangeParis Open Source Summit
 
Keynote #Tech - Cloud & DevOps, par Hervé LECLERC
Keynote #Tech - Cloud & DevOps, par Hervé LECLERCKeynote #Tech - Cloud & DevOps, par Hervé LECLERC
Keynote #Tech - Cloud & DevOps, par Hervé LECLERCParis Open Source Summit
 
Keynote #Society - How Open Source drives Innovation ? par Allison RANDAL
Keynote #Society - How Open Source drives Innovation ? par Allison RANDALKeynote #Society - How Open Source drives Innovation ? par Allison RANDAL
Keynote #Society - How Open Source drives Innovation ? par Allison RANDALParis Open Source Summit
 

Viewers also liked (14)

Patrice Bertrand - Foss models revisited, Is freemium a bad word ?
Patrice Bertrand - Foss models revisited, Is freemium a bad word ?Patrice Bertrand - Foss models revisited, Is freemium a bad word ?
Patrice Bertrand - Foss models revisited, Is freemium a bad word ?
 
EOLE / OWF 12 - French m&a in foss-olivier hugot (eole2012)
EOLE / OWF 12 - French m&a in foss-olivier hugot (eole2012)EOLE / OWF 12 - French m&a in foss-olivier hugot (eole2012)
EOLE / OWF 12 - French m&a in foss-olivier hugot (eole2012)
 
Cloud / Build to cloud using Open Source - Jean-Francois Caenen, CapGemini
Cloud / Build to cloud using Open Source - Jean-Francois Caenen, CapGeminiCloud / Build to cloud using Open Source - Jean-Francois Caenen, CapGemini
Cloud / Build to cloud using Open Source - Jean-Francois Caenen, CapGemini
 
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
 
OWF13 - Multiple Clouds and multiple interest communities
OWF13 - Multiple Clouds and multiple interest communitiesOWF13 - Multiple Clouds and multiple interest communities
OWF13 - Multiple Clouds and multiple interest communities
 
A Tour of Network Neutrality solutions
A Tour of Network Neutrality solutionsA Tour of Network Neutrality solutions
A Tour of Network Neutrality solutions
 
OWF13 - October 3 - Jean-Luc Beylat
OWF13 - October 3 - Jean-Luc BeylatOWF13 - October 3 - Jean-Luc Beylat
OWF13 - October 3 - Jean-Luc Beylat
 
Require 'knowledgecommons' # This currently fails / Mike Linksvayer
Require 'knowledgecommons' # This currently fails / Mike LinksvayerRequire 'knowledgecommons' # This currently fails / Mike Linksvayer
Require 'knowledgecommons' # This currently fails / Mike Linksvayer
 
Google AppEngine @Open World Forum 2012 - 12 oct.2012
Google AppEngine @Open World Forum 2012 - 12 oct.2012Google AppEngine @Open World Forum 2012 - 12 oct.2012
Google AppEngine @Open World Forum 2012 - 12 oct.2012
 
OWF12/Open Cloud Strategies Openstackinaction enovance
OWF12/Open Cloud Strategies Openstackinaction enovanceOWF12/Open Cloud Strategies Openstackinaction enovance
OWF12/Open Cloud Strategies Openstackinaction enovance
 
Cloud / Orange Cloud et OW2 Case study - Alexandre Lefebvre, Orange
Cloud / Orange Cloud et OW2 Case study - Alexandre Lefebvre, OrangeCloud / Orange Cloud et OW2 Case study - Alexandre Lefebvre, Orange
Cloud / Orange Cloud et OW2 Case study - Alexandre Lefebvre, Orange
 
OWF13 - Neoliberal open source?
OWF13 - Neoliberal open source?OWF13 - Neoliberal open source?
OWF13 - Neoliberal open source?
 
Keynote #Tech - Cloud & DevOps, par Hervé LECLERC
Keynote #Tech - Cloud & DevOps, par Hervé LECLERCKeynote #Tech - Cloud & DevOps, par Hervé LECLERC
Keynote #Tech - Cloud & DevOps, par Hervé LECLERC
 
Keynote #Society - How Open Source drives Innovation ? par Allison RANDAL
Keynote #Society - How Open Source drives Innovation ? par Allison RANDALKeynote #Society - How Open Source drives Innovation ? par Allison RANDAL
Keynote #Society - How Open Source drives Innovation ? par Allison RANDAL
 

Similar to OWF12/PAUG Conf Days Android tools for developpeurs, paul marois, design and development engineer, genymobile

Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsLinaro
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Opersys inc.
 
Inside Android's UI
Inside Android's UIInside Android's UI
Inside Android's UIOpersys inc.
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Opersys inc.
 
Inside Android's UI / ABS 2013
Inside Android's UI / ABS 2013Inside Android's UI / ABS 2013
Inside Android's UI / ABS 2013Opersys inc.
 
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsTIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsXiaozhe Wang
 
Container based android
Container based androidContainer based android
Container based androidLihan Chen
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System ServerOpersys inc.
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Opersys inc.
 
Mobile operating systems - Application Benchmarking
Mobile operating systems - Application BenchmarkingMobile operating systems - Application Benchmarking
Mobile operating systems - Application BenchmarkingNicolas Demetriou
 
Working with the AOSP - Linaro Connect Asia 2013
Working with the AOSP - Linaro Connect Asia 2013Working with the AOSP - Linaro Connect Asia 2013
Working with the AOSP - Linaro Connect Asia 2013Opersys inc.
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux DevelopersOpersys inc.
 
LAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android NLAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android NLinaro
 
Workshop su Android Kernel Hacking
Workshop su Android Kernel HackingWorkshop su Android Kernel Hacking
Workshop su Android Kernel HackingDeveler S.r.l.
 
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with QtEspen Riskedal
 
ios-mobile-app-development-intro
ios-mobile-app-development-introios-mobile-app-development-intro
ios-mobile-app-development-introRemesh Govind M
 

Similar to OWF12/PAUG Conf Days Android tools for developpeurs, paul marois, design and development engineer, genymobile (20)

Android Internals
Android InternalsAndroid Internals
Android Internals
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
 
Inside Android's UI
Inside Android's UIInside Android's UI
Inside Android's UI
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013
 
Inside Android's UI / ABS 2013
Inside Android's UI / ABS 2013Inside Android's UI / ABS 2013
Inside Android's UI / ABS 2013
 
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsTIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
 
Container based android
Container based androidContainer based android
Container based android
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System Server
 
Android Development Tools
Android Development ToolsAndroid Development Tools
Android Development Tools
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3
 
Mobile operating systems - Application Benchmarking
Mobile operating systems - Application BenchmarkingMobile operating systems - Application Benchmarking
Mobile operating systems - Application Benchmarking
 
Working with the AOSP - Linaro Connect Asia 2013
Working with the AOSP - Linaro Connect Asia 2013Working with the AOSP - Linaro Connect Asia 2013
Working with the AOSP - Linaro Connect Asia 2013
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
Porting Android
Porting AndroidPorting Android
Porting Android
 
LAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android NLAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android N
 
Workshop su Android Kernel Hacking
Workshop su Android Kernel HackingWorkshop su Android Kernel Hacking
Workshop su Android Kernel Hacking
 
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with Qt
 
ios-mobile-app-development-intro
ios-mobile-app-development-introios-mobile-app-development-intro
ios-mobile-app-development-intro
 

More from Paris Open Source Summit

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...Paris Open Source Summit
 
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...Paris Open Source Summit
 
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...Paris Open Source Summit
 
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, ArduinoParis Open Source Summit
 
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...Paris Open Source Summit
 
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...Paris Open Source Summit
 
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, ZabbixParis Open Source Summit
 
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, InriaParis Open Source Summit
 
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...Paris Open Source Summit
 
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...Paris Open Source Summit
 
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...Paris Open Source Summit
 
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...Paris Open Source Summit
 
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...Paris Open Source Summit
 
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...Paris Open Source Summit
 
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...Paris Open Source Summit
 
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...Paris Open Source Summit
 
#OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données #OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données Paris Open Source Summit
 
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...Paris Open Source Summit
 
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...Paris Open Source Summit
 
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...Paris Open Source Summit
 

More from Paris Open Source Summit (20)

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
 
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
 
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
 
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
 
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
 
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
 
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
 
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
 
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
 
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
 
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
 
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
 
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
 
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
 
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
 
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
 
#OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données #OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données
 
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
 
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
 
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
 

OWF12/PAUG Conf Days Android tools for developpeurs, paul marois, design and development engineer, genymobile

  • 1. Android Tools for Developers Paul Marois - GenYmobile
  • 2. Introduction Who Am I ? ● Android Developer. ● Android GENYMOBILE employee. What this presentation will be ? ● A totally subjective presentation about official tools I find interesting or useful. ● Not about tools presented elsewhere in OWF.
  • 4. Emulator Latest addition GPU Support ● SDK tools > 17 ● emulator -avd <avd_name> -gpu on Improved CPU performance More hardware feature emulation ● SDKController in tools/apps/ ● adb forward tcp:1970 localabstract:android.sdk.controller ○ MultiTouch Input Emulation ○ Sensor Emulation
  • 6. Emulator Telephony DDMS / Emulator Camera Webcam Sensor Tethered Device Multitouch Tethered Device NFC / Bluetooth Future ?
  • 7. New Wizard & Layout Configuration
  • 8. Lint ● Available in ADT > 16. ● Bug detector. ● Multiple Inputs file types : xml, java, ... ● Multiple Output file types : text, html, xml, ... ● Multiple Front-Ends : Eclipse, IntelliJ, command line. ● Multiple severity warnings. ● Jenkins Plugin. ○ https://wiki.jenkins-ci.org/display/JENKINS/Android+Lint+Plugin ● API to write additional checks.
  • 9. Lint Create Your Own Rules ● Import lint_api.jar ● Create a detector which can identify one or more different types of "issues" that you'll create too. ○ public class MyDetector extends ResourceXmlDetector ● Provide your own registry. ○ public class MyIssueRegistry extends IssueRegistry ● Create your manifest ○ Lint-Registry: owf.demo.MyIssueRegistry ● Put the jar into ~/.android/lint folder
  • 11. Device Monitor HierarchyViewer ● Do not work on devices for security reason ○ https://github.com/romainguy/ViewServer ○ Requires Internet Permission ○ Mode Debug only ● onCreate : ○ ViewServer.get(this).addWindow(this); ● onDestroy ○ ViewServer.get(this).removeWindow(this); ● onResume ○ ViewServer.get(this).setFocusedWindow(this); ● Customizable ○ @ViewDebug.ExportedProperty
  • 12. Device Monitor adb command lines ● Adb bugreport ○ Complete log of the system. ● adb shell dumpsys : log of services ○ ex : adb shell dumpsys meminfo <pid> Exs : SurfaceFlinger permission meminfo batteryinfo alarm phone network_management bluetooth appwidget power nfc gfxinfo audio vibrator notification hardware battery wallpaper ...
  • 13. Device Monitor Ex : adb shell dumpsys meminfo <pid>
  • 14. Device Monitor Systrace ● Settings > Developer Options > Enable Traces ● sdk/tools/systrace ● python ./systrace.py
  • 16. Device Monitor Monkey ● Generate pseudo-random streams of user events on an emulator or device ● adb shell monkey [options] <event-count> ○ ex : adb shell monkey -p com.google.android.apps.iosched -v 500
  • 17. And more... ● Draw9patch ● OpenGLTracer ● Procrank ● DexGuard ● AndroVM ● AndroidAnnotations ● RenderScript ● ETC...