donderdag 22 maart 2012

Intel Hardware Accelerated Execution Manager in Android SDK

“Intel code maakt Android-emulator sneller” kopt tweakers.net vandaag. Aangezien ik me dagelijks bezig houdt met de ontwikkeling van mobiele toepassingen, alle reden om daar eens wat dieper in te duiken.

Het blijkt te gaan over de nieuwste versie van de Android SDK, deze bevat nu door Intel gedoneerde code/software waardoor de bij de SDK meegeleverde emulator het een stuk sneller zou moeten doen.

Nog meer reden om hier dieper in te duiken, aangezien de Android emulator meestal tergend langzaam zijn werk doet. Voor mij een reden om toch meestal (via ADB) een fysiek device te gebruiken.

Intel was al een tijdje bezig met het propageren van het Intel-VT platform om Android sneller te laten lopen. Dat is in dit Intel artikel al even te lezen. HAXM dus. Het gaat dan om een x86 versie van Android, welke dus in tegenstelling tot de gebruikelijke ARM versies wel native op PC hardware (want allebei x86) kan draaien. Wat dat betreft lijkt de oplossing dus heel erg op mijn voorstel waar ik vorig jaar al over berichte, namelijk het gebruik van een naar de x86 geporte Android versie op een virtuele machine zoals met VMWare.

Dan de praktijk, laten we kijken wat Intel heeft gedoneerd aan de Android SDK en hoe dit er dan uit ziet:

Allereerst starten we de SDK manager. (Let op, altijd in “Run as admin” , anders werkt het installeren nog steeds niet). Laat de SDK manager zoeken op updates en kijk dan onder Extras. Hier vind je de nieuwe “Intel Hardware Accelerated Execution Mode” , installeer deze.

Intel Hardware Accelerated Execution Mode

Herstart de SDK manager en kijk onder de Android 2.3.3 (API Level 10) kop. Hier vindt je een nieuwe system image “Intel Atom x86 System Image” – inderdaad een x86 port van Android. Installeer deze.

Android SDK Manager

Na het installeren van deze zaken, kan je overgaan tot het maken van een AVD op basis van de zojuist verkregen system image. Ik noem hem (heel hoopvol) “Fast_Android” :

Intel Atom x86 System Image

En klaar. Deze image kunnen we vervolgens starten. Checken we nog even en inderdaad onder CPU/ABI zien we dat het hier om een image op de Intel Atom architecture gaat:

Android Virtual Device Manager

Als we de emulator gestart hebben, controleren we dat natuurlijk nog even in “About this phone”

En inderdaad, een x86 build van Android.

De eerste indruk is dat dit in de emulator inderdaad een stuk vlotter draait dan de eerdere, ARM versies.

Twee verbeterpunten voor de toekomst zijn:

  • Op dit moment alleen Android 2.3 geport is van de ARM naar de x86 architectuur, maar in de toekomst zullen daar hopelijk ook andere versies aan toegevoegd worden;
  • Google Apps zitten er niet in, ook het koppelen van deze Android versie met een Google Account (om daarna de market/play te kunnen gebruiken) is vandaag niet gelukt.

Geen opmerkingen: