SlideShare a Scribd company logo
1 of 24
AndroVM
                 SEMINAIRE
           Châteaux de la Volonière
an   alternative to Android SDK emulator
              Présentation GENYMOBILE




                                  13th October, 2012
FORMATION
                        Agenda

Android Open Source Project
     Presentation
     Architecture
     Building/Testing
     Contribution

AndroVM project
     Presentation
     Usage
     Architecture
     We need your help !
Android Open Source Project [AOSP]
       FORMATION




Initiative from the Open Handset Alliance, leaded by Google, to create an
open mobile platform for telcos, OEMs and developers.

« Open Source » project : mainly under ASL 2.0 licence (GPL for the Linux
kernel and some components), but strong dependency to Google
(Honeycomb traumatism…), no shared roadmap, no community
development

Ten major releases (1.0, 1.1, CupCake, Donut, Eclair, Froyo, Gingerbread,
Honeycomb, ICS, JB) since September 2008

Some numbers: more than 450M devices and >1.2M activations a day
Android – General architecture
   FORMATION
Jelly Bean – Devices support
          FORMATION


The last release of AOSP (Jelly Bean/4.1) supports :
 Nexus S (GSM, CDMA/WiMAX)
 Galaxy Nexus (GSM/HSDPA+, CDMA/LTE)
 Nexus 7
 Motorola Xoom (WiFi only, CDMA/LTE)
 PandaBoard (development board)

But, even for those, some components are only available in
binary form (radio, OpenGL/graphics, WiFi, …), some other
are even not publicly available (rotation sensor, camera, …)



        http://source.android.com/source/building-devices.html
        https://plus.google.com/112218872649456413744/posts/75aLL1dWY2u
AOSP – Source code interests
        FORMATION



 « ROM Cooking » on smartphones and tablets (ex :
  CyanogenMod project – more than 1M devices)

 Use of Android on new platforms, different from
  smartphones and tablets

 Application debugging and optimization

 Source code security analysis
AOSP JB – Building
                 FORMATION


One information source : http://source.android.com

OS pre-requisite : http://source.android.com/source/initializing.html
My advice : use a 64-bit Ubuntu 10.04 (reference platform) [Ubuntu 12.04 support
announced for next major relerase]

Source code: >8.5GB

Building system: 4GB RAM minimum (16GB better), 25GB free storage minimum
(90GB to build all ‘targets’)

Setup / repo tool :
$   mkdir ~/bin
$   PATH=~/bin:$PATH
$   curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$   chmod a+x ~/bin/repo




                                http://source.android.com/source/initializing.html
                                http://source.android.com/source/downloading.html
AOSP JB – Building
                      FORMATION


Source code download :
$ mkdir android-4.1.2
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.2
$ repo sync


Target selection and building:
$ source build/envsetup.sh
$ lunch (select target)
$ make –jX (where X is the number of parallel compilation processes)



 A complete build can take from 20 minutes to 8 hours depending on the building
system configuration… (JBQ’s host : Dual Xeon E5620 Quad-core, 24GB RAM 30
minutes to build ICS for the Galaxy Nexus).

Last step : ROM install on device, or execution using the emulator or a virtual
machine.



                                          http://source.android.com/source/downloading.html
                                          http://source.android.com/source/building.html
AOSP – Source code structure
          FORMATION


bionic/ : « libc » replacement
bootable/ : reference bootloader
build/ : AOSP build scripts
cts/ : « Compatibility Test Suite »
dalvik/ : Dalvik virtual machine
development/ : Development tools
device/ : Device specific files
docs/ : source.android.com source files
external/ : External projects used by AOSP
frameworks/ : System services, android.* JAVA classes, …
hardware/ : Hardware support libraries
libcore/ : « Apache Harmony » project
ndk/ : Native Development Kit
packages/ : Basic Android applications and services
prebuilt/ prebuits/: Precompiled binaries
sdk/ : Software Development Kit
system/ : System components
AOSP – CTS/CDD
             FORMATION



CDD = Compatibility Definition Document

Android devices specifications (one CDD for each Android version).

A required condition (but not enough…) to get access to the Google
Market/Play is that the device respect the Android version CDD.

Pre-requisites can dramatically change from one version to an other. For
example, the ICS CDD requires 340MB available RAM (after Linux kernel
boots, not counting RAM used by video, radio, …) whereas the Gingerbread
CDD only required 128MB available RAM.




                       http://source.android.com/compatibility/overview.html
AOSP – CTS/CDD
              FORMATION


CTS = Compatibility Test Suite
Testing tools used to (partly) check the
conformity of a device (and its Android
ROM) towards the target CDD.




                         http://source.android.com/compatibility/cts-intro.html
AOSP – Contribution
              FORMATION


Everybody can contribute code to Android, but…

Every contribution is subject to Google’s validation :
 Code quality : Android « code style guidelines »
 Functional code
 Strategic/Politic ?

Same function/piece of code may be developed
at same time by Google…

Tool based on Gerrit

Service unavailable during >6 months in 2011…


                         http://source.android.com/source/submit-patches.html
                         https://android-review.googlesource.com
AndroVM - Introduction
          FORMATION


An initiative from Genymobile (French start-up 100% focused
on Android).

Rename of the “Buildroid” project

Objectives :
 Provide functional and robust Android Virtual images
 Environment : until now mainly focused on VirtualBox, but
  images are running well on VMWare (minus some functions)




                                         http://www.androvm.org/
AndroVM – AOSP porting to VirtualBox
      FORMATION


Beginning with ICS, AOSP includes a « VirtualBox target » 

But many functions were missing  :
 No mouse
 No network
 No Audio
 No OpenGL ES 2.0
 No USB support

 That’s how come the idea to work on VirtualBox support in
AOSP…


                            http://www.buildroid.org/blog/?page_id=38
AndroVM – AOSP porting to VirtualBox
      FORMATION


Functions developed:
 Mouse support: Kernel recompilation with the good option
 Ethernet support : Startup scripts modifications
 RTC (Real-Time Clock) support : Android Alarm modification to run
  correctly on x86 platforms
 Power Management support : Add specific support for VirtualBox
  in the Power Management library
 Audio support :
    Kernel recompilation with ALSA support
    New Audio Hardware module (ICS)
    Porting of the « Nexus 7) Audio Hardware module to support
     VirtualBox (JB)
 File sharing with the host :
    VirtualBox kernel modules compiling
    Startup scripts modifications
AndroVM – AOSP porting to VirtualBox
      FORMATION


Functions developed:
 USB support :
    Kernel recompilation with USB host and mass-storage driver
    « vold » component configuration to add USB storage automatic
     mounting
 WiFi emulation : wpa_supplicant modifications to emulate a WiFi
  connection based on the virtual Ethernet card
 OpenGL ES 2.0 Hardware support : Modification of the “OpenGL
  translation support” written by Google for the emulator
 AndroVM configuration tool : Small Android application used to
  configure the VM settings (screen size, keyboard emulation, …)
AndroVM – ARM support
            FORMATION


Problem with Android running on x86 : some applications (most games) run
native ARM code.

Intel introduces an x86 Atom-based smartphone with the capability to run
ARM code using “ARM translation” with very good performance !
Unfortunately no source code available… 

 Got a phone, Reverse-engineered the “houdini” libraries implementing
  “ARM translation”, Integrated them in AndroVM and it worked 

Now, AndroVM and android-x86 images can run native ARM
code.

          http://androvm.org/blog/ex-buildroid/2012/06/11/running-arm-apps/
          http://androvm.org/blog/ex-buildroid/2012/06/18/using-arm-
          emulation-on-other-android-x86-distributions/
AndroVM – Why ? Usage ?
          FORMATION


From “pure technical interest” to usage…

>15000 VM downloads (Buildroid/AndroVM)

Developers replacing the SDK emulator
 Performance issues : qemu-based emulator running ARM images ;
  option to run KVM-based x86 images
 OpenGL issues : software-only OpenGL ; option to use Hardware
  acceleration (AndroVM uses the same component)
 User-friendly : AndroVM seems easier to use than the SDK emulator

People wanting to run Android applications on their x86
systems
AndroVM
FORMATION




     DEMO
AndroVM – More to come
         FORMATION


We’re currently working on :
 An AndroVM management tool : create/modify
  VM, start/stop them, automatically connect adb, ...
 Sensors emulation : either manual or using input data from
  USB-connected Android device

What could be next :
 Multi-touch emulation
 Bluetooth emulation
 NFC emulation
AndroVM – We need your help !
         FORMATION


 Android developers, please help us make your life easier 

From “pure technical interest” to usage…

 Do you feel the need of an alternative to the Android SDK emulator ?
 Are you able to use HAXM and Hardware OpenGL or is it impossible to
  use in your environment ?
 What functions would you need the most ? Bluetooth ? NFC ? WiFi-
  Direct ?...
 Are you able to test your apps with variable network quality/reliability ?
  Do you feel the need for it ?



                                             dan@androvm.org
FORMATION
                             Links
AOSP building instructions: http://source.android.com

Android Google groups:
        http://groups.google.com/group/android-building
        http://groups.google.com/group/android-porting
        http://groups.google.com/group/android-platform
        http://groups.google.com/group/android-kernel

xda-developers forum :
        http://forum.xda-developers.com/forumdisplay.php?f=564

Cyanogenmod forum : http://forum.cyanogenmod.com

android-x86 project : http://www.android-x86.org

AndroVM project : http://www.androvm.org/
SEMINAIRE
Châteaux de la Volonière
     Questions ?
  Présentation GENYMOBILE
SEMINAIRE
       MERCI !
Châteaux de la Volonière
  Présentation GENYMOBILE



                      Daniel Fages
                      dan@androvm.org
                      dfages@genymobile.com

More Related Content

What's hot

Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIOpersys inc.
 
Android Security Internals
Android Security InternalsAndroid Security Internals
Android Security InternalsOpersys inc.
 
Android's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALAndroid's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALOpersys inc.
 
Extending Android's Platform Toolsuite
Extending Android's Platform ToolsuiteExtending Android's Platform Toolsuite
Extending Android's Platform ToolsuiteOpersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave InternalsOpersys inc.
 
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsDroidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsBenjamin Zores
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...ijafrc
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
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
 
Embedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowEmbedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Customizing Android's UI
Customizing Android's UICustomizing Android's UI
Customizing Android's UIOpersys inc.
 
Embedded Android Workshop with Oreo
Embedded Android Workshop with OreoEmbedded Android Workshop with Oreo
Embedded Android Workshop with OreoOpersys inc.
 

What's hot (20)

Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
 
Android Security Internals
Android Security InternalsAndroid Security Internals
Android Security Internals
 
Android's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALAndroid's HIDL: Treble in the HAL
Android's HIDL: Treble in the HAL
 
Extending Android's Platform Toolsuite
Extending Android's Platform ToolsuiteExtending Android's Platform Toolsuite
Extending Android's Platform Toolsuite
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave Internals
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsDroidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded Systems
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
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
 
Embedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowEmbedded Android Workshop with Marshmallow
Embedded Android Workshop with Marshmallow
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Customizing Android's UI
Customizing Android's UICustomizing Android's UI
Customizing Android's UI
 
Embedded Android Workshop with Oreo
Embedded Android Workshop with OreoEmbedded Android Workshop with Oreo
Embedded Android Workshop with Oreo
 

Viewers also liked

EOLE / OWF 12 - The rise and evolution of the open source software foundation...
EOLE / OWF 12 - The rise and evolution of the open source software foundation...EOLE / OWF 12 - The rise and evolution of the open source software foundation...
EOLE / OWF 12 - The rise and evolution of the open source software foundation...Paris Open Source Summit
 
Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...
Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...
Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...Paris 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 / 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
 
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
 
Keynote d'ouverture #OSSPARIS16 - Le cnll au service des entreprises de la f...
Keynote d'ouverture #OSSPARIS16  - Le cnll au service des entreprises de la f...Keynote d'ouverture #OSSPARIS16  - Le cnll au service des entreprises de la f...
Keynote d'ouverture #OSSPARIS16 - Le cnll au service des entreprises de la f...Paris Open Source Summit
 
Keynote d'ouverture #OSSPARIS16 - Class code en 180 secondes
Keynote d'ouverture #OSSPARIS16 - Class code en 180 secondesKeynote d'ouverture #OSSPARIS16 - Class code en 180 secondes
Keynote d'ouverture #OSSPARIS16 - Class code en 180 secondesParis Open Source Summit
 

Viewers also liked (9)

A Tour of Network Neutrality solutions
A Tour of Network Neutrality solutionsA Tour of Network Neutrality solutions
A Tour of Network Neutrality solutions
 
EOLE / OWF 12 - The rise and evolution of the open source software foundation...
EOLE / OWF 12 - The rise and evolution of the open source software foundation...EOLE / OWF 12 - The rise and evolution of the open source software foundation...
EOLE / OWF 12 - The rise and evolution of the open source software foundation...
 
Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...
Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...
Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...
 
OWF12/Open Cloud Strategies Openstackinaction enovance
OWF12/Open Cloud Strategies Openstackinaction enovanceOWF12/Open Cloud Strategies Openstackinaction enovance
OWF12/Open Cloud Strategies Openstackinaction enovance
 
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
 
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
 
OWF13 - October 3 - Jean-Luc Beylat
OWF13 - October 3 - Jean-Luc BeylatOWF13 - October 3 - Jean-Luc Beylat
OWF13 - October 3 - Jean-Luc Beylat
 
Keynote d'ouverture #OSSPARIS16 - Le cnll au service des entreprises de la f...
Keynote d'ouverture #OSSPARIS16  - Le cnll au service des entreprises de la f...Keynote d'ouverture #OSSPARIS16  - Le cnll au service des entreprises de la f...
Keynote d'ouverture #OSSPARIS16 - Le cnll au service des entreprises de la f...
 
Keynote d'ouverture #OSSPARIS16 - Class code en 180 secondes
Keynote d'ouverture #OSSPARIS16 - Class code en 180 secondesKeynote d'ouverture #OSSPARIS16 - Class code en 180 secondes
Keynote d'ouverture #OSSPARIS16 - Class code en 180 secondes
 

Similar to OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, cto at y software

Play With Android
Play With AndroidPlay With Android
Play With AndroidChamp Yen
 
Making a Headless Android Device (Oslo Embedded Meetup 2018)
Making a Headless Android Device (Oslo Embedded Meetup 2018)Making a Headless Android Device (Oslo Embedded Meetup 2018)
Making a Headless Android Device (Oslo Embedded Meetup 2018)Patricia Aas
 
Making a Headless Android Device
Making a Headless Android DeviceMaking a Headless Android Device
Making a Headless Android DevicePatricia Aas
 
Android Development Overview
Android Development OverviewAndroid Development Overview
Android Development OverviewIgor Birman
 
lecture-2-android-dev.pdf
lecture-2-android-dev.pdflecture-2-android-dev.pdf
lecture-2-android-dev.pdfjakjak36
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyBenjamin Zores
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android Ranjith Kumar
 
Portinig Application, Drivers And Os
Portinig Application, Drivers And OsPortinig Application, Drivers And Os
Portinig Application, Drivers And Osmomobangalore
 
Day 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedDay 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedAhsanul Karim
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Lars Vogel
 
androidPramming.ppt
androidPramming.pptandroidPramming.ppt
androidPramming.pptBijayKc16
 
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run AnywhereOpen Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run Anywhereguest991eb3
 
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TVBeMyApp
 
Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Nilay Binjola
 
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...Codemotion Tel Aviv
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phonesDennise Layague
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 

Similar to OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, cto at y software (20)

Play With Android
Play With AndroidPlay With Android
Play With Android
 
Making a Headless Android Device (Oslo Embedded Meetup 2018)
Making a Headless Android Device (Oslo Embedded Meetup 2018)Making a Headless Android Device (Oslo Embedded Meetup 2018)
Making a Headless Android Device (Oslo Embedded Meetup 2018)
 
Making a Headless Android Device
Making a Headless Android DeviceMaking a Headless Android Device
Making a Headless Android Device
 
Android Development Overview
Android Development OverviewAndroid Development Overview
Android Development Overview
 
lecture-2-android-dev.pdf
lecture-2-android-dev.pdflecture-2-android-dev.pdf
lecture-2-android-dev.pdf
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform Anatomy
 
Notes Unit2.pptx
Notes Unit2.pptxNotes Unit2.pptx
Notes Unit2.pptx
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
Portinig Application, Drivers And Os
Portinig Application, Drivers And OsPortinig Application, Drivers And Os
Portinig Application, Drivers And Os
 
Day 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedDay 1 Android: Before Getting Started
Day 1 Android: Before Getting Started
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
 
Getting Started With Android
Getting Started With AndroidGetting Started With Android
Getting Started With Android
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11
 
androidPramming.ppt
androidPramming.pptandroidPramming.ppt
androidPramming.ppt
 
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run AnywhereOpen Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
 
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
 
Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015
 
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 

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 Alternative to google's android emulator, daniel fages, cto at y software

  • 1. AndroVM SEMINAIRE Châteaux de la Volonière an alternative to Android SDK emulator Présentation GENYMOBILE 13th October, 2012
  • 2. FORMATION Agenda Android Open Source Project Presentation Architecture Building/Testing Contribution AndroVM project Presentation Usage Architecture We need your help !
  • 3. Android Open Source Project [AOSP] FORMATION Initiative from the Open Handset Alliance, leaded by Google, to create an open mobile platform for telcos, OEMs and developers. « Open Source » project : mainly under ASL 2.0 licence (GPL for the Linux kernel and some components), but strong dependency to Google (Honeycomb traumatism…), no shared roadmap, no community development Ten major releases (1.0, 1.1, CupCake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, ICS, JB) since September 2008 Some numbers: more than 450M devices and >1.2M activations a day
  • 4. Android – General architecture FORMATION
  • 5. Jelly Bean – Devices support FORMATION The last release of AOSP (Jelly Bean/4.1) supports :  Nexus S (GSM, CDMA/WiMAX)  Galaxy Nexus (GSM/HSDPA+, CDMA/LTE)  Nexus 7  Motorola Xoom (WiFi only, CDMA/LTE)  PandaBoard (development board) But, even for those, some components are only available in binary form (radio, OpenGL/graphics, WiFi, …), some other are even not publicly available (rotation sensor, camera, …) http://source.android.com/source/building-devices.html https://plus.google.com/112218872649456413744/posts/75aLL1dWY2u
  • 6. AOSP – Source code interests FORMATION  « ROM Cooking » on smartphones and tablets (ex : CyanogenMod project – more than 1M devices)  Use of Android on new platforms, different from smartphones and tablets  Application debugging and optimization  Source code security analysis
  • 7. AOSP JB – Building FORMATION One information source : http://source.android.com OS pre-requisite : http://source.android.com/source/initializing.html My advice : use a 64-bit Ubuntu 10.04 (reference platform) [Ubuntu 12.04 support announced for next major relerase] Source code: >8.5GB Building system: 4GB RAM minimum (16GB better), 25GB free storage minimum (90GB to build all ‘targets’) Setup / repo tool : $ mkdir ~/bin $ PATH=~/bin:$PATH $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo http://source.android.com/source/initializing.html http://source.android.com/source/downloading.html
  • 8. AOSP JB – Building FORMATION Source code download : $ mkdir android-4.1.2 $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.2 $ repo sync Target selection and building: $ source build/envsetup.sh $ lunch (select target) $ make –jX (where X is the number of parallel compilation processes)  A complete build can take from 20 minutes to 8 hours depending on the building system configuration… (JBQ’s host : Dual Xeon E5620 Quad-core, 24GB RAM 30 minutes to build ICS for the Galaxy Nexus). Last step : ROM install on device, or execution using the emulator or a virtual machine. http://source.android.com/source/downloading.html http://source.android.com/source/building.html
  • 9. AOSP – Source code structure FORMATION bionic/ : « libc » replacement bootable/ : reference bootloader build/ : AOSP build scripts cts/ : « Compatibility Test Suite » dalvik/ : Dalvik virtual machine development/ : Development tools device/ : Device specific files docs/ : source.android.com source files external/ : External projects used by AOSP frameworks/ : System services, android.* JAVA classes, … hardware/ : Hardware support libraries libcore/ : « Apache Harmony » project ndk/ : Native Development Kit packages/ : Basic Android applications and services prebuilt/ prebuits/: Precompiled binaries sdk/ : Software Development Kit system/ : System components
  • 10. AOSP – CTS/CDD FORMATION CDD = Compatibility Definition Document Android devices specifications (one CDD for each Android version). A required condition (but not enough…) to get access to the Google Market/Play is that the device respect the Android version CDD. Pre-requisites can dramatically change from one version to an other. For example, the ICS CDD requires 340MB available RAM (after Linux kernel boots, not counting RAM used by video, radio, …) whereas the Gingerbread CDD only required 128MB available RAM. http://source.android.com/compatibility/overview.html
  • 11. AOSP – CTS/CDD FORMATION CTS = Compatibility Test Suite Testing tools used to (partly) check the conformity of a device (and its Android ROM) towards the target CDD. http://source.android.com/compatibility/cts-intro.html
  • 12. AOSP – Contribution FORMATION Everybody can contribute code to Android, but… Every contribution is subject to Google’s validation :  Code quality : Android « code style guidelines »  Functional code  Strategic/Politic ? Same function/piece of code may be developed at same time by Google… Tool based on Gerrit Service unavailable during >6 months in 2011… http://source.android.com/source/submit-patches.html https://android-review.googlesource.com
  • 13. AndroVM - Introduction FORMATION An initiative from Genymobile (French start-up 100% focused on Android). Rename of the “Buildroid” project Objectives :  Provide functional and robust Android Virtual images  Environment : until now mainly focused on VirtualBox, but images are running well on VMWare (minus some functions) http://www.androvm.org/
  • 14. AndroVM – AOSP porting to VirtualBox FORMATION Beginning with ICS, AOSP includes a « VirtualBox target »  But many functions were missing  :  No mouse  No network  No Audio  No OpenGL ES 2.0  No USB support  That’s how come the idea to work on VirtualBox support in AOSP… http://www.buildroid.org/blog/?page_id=38
  • 15. AndroVM – AOSP porting to VirtualBox FORMATION Functions developed:  Mouse support: Kernel recompilation with the good option  Ethernet support : Startup scripts modifications  RTC (Real-Time Clock) support : Android Alarm modification to run correctly on x86 platforms  Power Management support : Add specific support for VirtualBox in the Power Management library  Audio support :  Kernel recompilation with ALSA support  New Audio Hardware module (ICS)  Porting of the « Nexus 7) Audio Hardware module to support VirtualBox (JB)  File sharing with the host :  VirtualBox kernel modules compiling  Startup scripts modifications
  • 16. AndroVM – AOSP porting to VirtualBox FORMATION Functions developed:  USB support :  Kernel recompilation with USB host and mass-storage driver  « vold » component configuration to add USB storage automatic mounting  WiFi emulation : wpa_supplicant modifications to emulate a WiFi connection based on the virtual Ethernet card  OpenGL ES 2.0 Hardware support : Modification of the “OpenGL translation support” written by Google for the emulator  AndroVM configuration tool : Small Android application used to configure the VM settings (screen size, keyboard emulation, …)
  • 17. AndroVM – ARM support FORMATION Problem with Android running on x86 : some applications (most games) run native ARM code. Intel introduces an x86 Atom-based smartphone with the capability to run ARM code using “ARM translation” with very good performance ! Unfortunately no source code available…   Got a phone, Reverse-engineered the “houdini” libraries implementing “ARM translation”, Integrated them in AndroVM and it worked  Now, AndroVM and android-x86 images can run native ARM code. http://androvm.org/blog/ex-buildroid/2012/06/11/running-arm-apps/ http://androvm.org/blog/ex-buildroid/2012/06/18/using-arm- emulation-on-other-android-x86-distributions/
  • 18. AndroVM – Why ? Usage ? FORMATION From “pure technical interest” to usage… >15000 VM downloads (Buildroid/AndroVM) Developers replacing the SDK emulator  Performance issues : qemu-based emulator running ARM images ; option to run KVM-based x86 images  OpenGL issues : software-only OpenGL ; option to use Hardware acceleration (AndroVM uses the same component)  User-friendly : AndroVM seems easier to use than the SDK emulator People wanting to run Android applications on their x86 systems
  • 20. AndroVM – More to come FORMATION We’re currently working on :  An AndroVM management tool : create/modify VM, start/stop them, automatically connect adb, ...  Sensors emulation : either manual or using input data from USB-connected Android device What could be next :  Multi-touch emulation  Bluetooth emulation  NFC emulation
  • 21. AndroVM – We need your help ! FORMATION Android developers, please help us make your life easier  From “pure technical interest” to usage…  Do you feel the need of an alternative to the Android SDK emulator ?  Are you able to use HAXM and Hardware OpenGL or is it impossible to use in your environment ?  What functions would you need the most ? Bluetooth ? NFC ? WiFi- Direct ?...  Are you able to test your apps with variable network quality/reliability ? Do you feel the need for it ?  dan@androvm.org
  • 22. FORMATION Links AOSP building instructions: http://source.android.com Android Google groups: http://groups.google.com/group/android-building http://groups.google.com/group/android-porting http://groups.google.com/group/android-platform http://groups.google.com/group/android-kernel xda-developers forum : http://forum.xda-developers.com/forumdisplay.php?f=564 Cyanogenmod forum : http://forum.cyanogenmod.com android-x86 project : http://www.android-x86.org AndroVM project : http://www.androvm.org/
  • 23. SEMINAIRE Châteaux de la Volonière Questions ? Présentation GENYMOBILE
  • 24. SEMINAIRE MERCI ! Châteaux de la Volonière Présentation GENYMOBILE Daniel Fages dan@androvm.org dfages@genymobile.com