Android-ontwikkelaars moeten een groot aantal verschillende Android-apparaten targeten om het grootste aantal gebruikers te bereiken. Door de Android Emulator op de juiste manier te configureren om het gedrag van verschillende apparaten na te bootsen, kunnen ontwikkelaars waardevolle tijd en geld besparen bij het testen en incompatibiliteit identificeren. In deze zelfstudie leert u hoe u Android Virtual Device (AVD) -configuraties kunt maken voor een verscheidenheid aan populaire Android-apparaten die momenteel op de markt zijn. Concreet maakt u AVD-configuraties voor de:
De auteurs gaan ervan uit dat de lezer enige basiskennis van Android heeft en dat alle tools zijn geïnstalleerd en werken specifiek voor Eclipse, de Android SDK en de Android ADT-plug-in voor Eclipse. U moet de Android SDK en AVD Manager gebruiken die beschikbaar zijn in de Eclipse IDE voor deze zelfstudie.
Opmerking: als je de Eclipse IDE voor Android-ontwikkeling niet gebruikt, kun je deze tutorial nog steeds volgen en de juiste AVD-configuraties maken met behulp van het opdrachtregelprogramma android.bat (of de opdracht android in Mac & Linux) in de / tools map van de Android SDK-installatie. De stappen zijn echter anders, omdat u aan de opdrachtregel werkt in plaats van via de Android SDK en AVD Manager. Zie de Android SDK-documentatie voor meer informatie over het opdrachtregelprogramma android en hoe je dit kunt gebruiken om AVD's te maken en te beheren..
De Android SDK en AVD Manager zijn geïntegreerd in de Eclipse IDE wanneer u de plug-in voor Android Development Tools (ADT) installeert. De Android SDK en AVD Manager worden gebruikt om de verschillende Android SDK-doelen die op uw ontwikkelmachine zijn geïnstalleerd bij te houden, evenals om de Android Virtual Devices (AVD's) te beheren die door de Android Emulator worden gebruikt om het gedrag van echte Android-apparaten na te bootsen.
Een Android Emulator moet een AVD-configuratie hebben om te kunnen functioneren. Een AVD vertegenwoordigt een uniek, persistent systeembeeld. Alle instellingen zijn gewijzigd en toepassingen die zijn geïnstalleerd terwijl de AVD in de emulator wordt gebruikt, worden opgeslagen in de systeemkopie.
Een AVD-configuratie beschrijft ook hoe de emulator een echt apparaat moet emuleren, inclusief:
Een volledige lijst met opties voor hardware-emulatie, inclusief instellingen en hun standaardwaarden, is beschikbaar in de Android SDK-documentatie.
U kunt de Android SDK en AVD Manager starten vanuit de Eclipse-werkbalk door op de knop met het groene Android-pictogram met de pijl te drukken () of door Venster-> Android SDK en AVD Manager te kiezen.
Een van de nieuwste Android-apparaten op de markt, de HTC Evo 4G is een krachtige nieuwe telefoon met een mooi groot scherm, een krachtige processor en een geweldige camera.
De belangrijke specificaties van dit apparaat vanuit een emulatorperspectief zijn:
Laten we daarom een AVD-configuratie maken met de naam Evo4G:
U hebt nu een AVD gemaakt die door de Android Emulator kan worden gebruikt om sterk op de HTC Evo 4G te lijken en deze te gedragen. Als u een Android-toepassing in de emulator start terwijl u deze AVD gebruikt, kunt u zien dat het scherm sterk lijkt op de ervaring die u op het eigenlijke apparaat zou hebben. Als u een van deze apparaten bezit, merkt u onmiddellijk dat het scherm er niet hetzelfde uitziet (qua software). De emulator biedt geen add-ons van derden, zoals de HTC Sense UI.
Google's Nexus One is een krachtige telefoon met de nieuwste Android-release. Als een apparaat dat oorspronkelijk rechtstreeks door Google is verkocht, lijkt deze telefoon het snelst updates te ontvangen. Het heeft ook een mooi scherm en is vrij snel, vooral met Android 2.2.
De belangrijke specificaties van dit apparaat vanuit een emulatorperspectief zijn:
Laten we daarom een AVD-configuratie maken met de naam NexusOne:
U hebt nu een AVD gemaakt die door de Android Emulator kan worden gebruikt om sterk op de Google Nexus One te lijken en deze te gedragen. Als u een Android-toepassing in de emulator start terwijl u deze AVD gebruikt, kunt u zien dat het scherm sterk lijkt op de ervaring die u op het eigenlijke apparaat zou hebben. Hier zien we een foto met de Android Emulator met de NexusOne AVD aan de rechterkant en een echte Nexus One aan de linkerkant.
De Motorola Droid is een van de meest voorkomende Android-telefoons die momenteel in de Verenigde Staten beschikbaar is. Het is ook anders dan veel van de andere nieuwere Android-handsets omdat het een hardwaretoetsenbord heeft.
De belangrijke specificaties van dit apparaat vanuit een emulatorperspectief zijn:
Laten we daarom een AVD-configuratie maken met de naam MotoDroid:
U hebt nu een AVD gemaakt die door de Android Emulator kan worden gebruikt om sterk op de Motorola Droid te lijken en deze te gedragen. Als u een Android-toepassing in de emulator start terwijl u deze AVD gebruikt, kunt u zien dat het scherm sterk lijkt op de ervaring die u op het eigenlijke apparaat zou hebben..
De T-Mobile G1 was de eerste openbaar beschikbare Android-telefoon. Hoewel veel gebruikers een upgrade naar de nieuwere Android-apparaten hebben uitgevoerd, zijn er nog steeds veel G1's in de buurt. In feite, vanaf dit schrijven, een goede
50% van de geactiveerde apparaten draait nog steeds met Android 1.5 en Android 1.6 - een goede indicatie dat G1's en andere vroege Android-handsets nog steeds in gebruik zijn.
De belangrijke specificaties van dit apparaat vanuit een emulatorperspectief zijn:
Laten we daarom een AVD-configuratie maken met de naam TMobileG1:
U hebt nu een AVD gemaakt die door de Android Emulator kan worden gebruikt om sterk op de T-Mobile G1 te lijken en deze te gedragen. Als u een Android-toepassing in de emulator start terwijl u deze AVD gebruikt, kunt u zien dat het scherm sterk lijkt op de ervaring die u op het eigenlijke apparaat zou hebben..
Laten we tot slot kijken naar een Android-apparaat dat geen telefoon is. Een goede optie is de Archos 5 Internettafel. Ontwikkelen voor andere typen Android-apparaten heeft zijn eigen reeks uitdagingen. Zonder de Google-add-ons kunt u niet vertrouwen op bepaalde apps die aanwezig zijn. De Google Maps-app is bijvoorbeeld niet beschikbaar. Het apparaat heeft mogelijk nog steeds een Maps-app, maar u weet niet per se hoe het zich zal gedragen. Testen zonder dat deze apps aanwezig zijn, zoals u met de emulator kunt doen, is ten zeerste aan te raden, zodat u weet of de toepassing aannames doet dat het niet zou mogen.
De belangrijke specificaties van dit apparaat vanuit een emulatorperspectief zijn:
Laten we daarom een AVD-configuratie maken met de naam Archos5:
U hebt nu een AVD gemaakt die door de Android Emulator kan worden gebruikt om sterk op de Archos 5-internettablet te lijken en deze te gedragen. Als u een Android-toepassing in de emulator start terwijl u deze AVD gebruikt, kunt u zien dat het scherm sterk lijkt op de ervaring die u op het eigenlijke apparaat zou hebben. Deze volgende foto toont de Android-emulator met de Archos5 AVD aan de rechterkant en een echte Archos 5-internettab aan de linkerkant.
Om de door u gecreëerde AVD's te gebruiken, moet u de Android Emulator starten en de juiste AVD toewijzen. De eenvoudigste manier om dit vanuit Eclipse te doen, is om een Android-project te kiezen en de foutopsporing of configuratie uit te voeren om de handmatige modus of een specifieke AVD op naam te targeten. Wanneer u de toepassing uitvoert of foutopsporing uitvoert, wordt de juiste AVD geladen (als u er een hebt gekozen) of wordt u gevraagd om handmatig een geschikte AVD te kiezen uit de Android-apparaatkiezer, zoals hieronder wordt weergegeven.
Als u de schermgrootte van de emulator wilt kunnen regelen, moet u de knop "Start ..." van de Device Chooser of de Android SDK en AVD Manager gebruiken. U ziet het volgende dialoogvenster:
Zorg ervoor dat u de juiste cijfers kiest voor uw bureaublad en de schermgrootte van het apparaat. Op mijn 24-inch monitor met een beeldschermresolutie van 1920x1200 is de dpi 94. U moet dit berekenen voor uw eigen beeldscherm of laptopscherm.
Hoewel je nu een apparaat op een veel realistischere manier kunt emuleren, zijn er bepaalde nadelen om dit te doen. Ten eerste, je bent nog steeds gewoon aan het emuleren, zoals we hebben besproken. Ten tweede, en wat nog belangrijker is, maken sommige van deze instellingen het gebruik van de emulator veel moeilijker. Als u er bijvoorbeeld voor kiest het toetsenbord uit te schakelen, zal de emulator dat eren en moet u het schermtoetsenbord in Android gebruiken. Als u GSM-hardware uitschakelt, kunt u ook geen gegevensverbinding maken, omdat de Wi-Fi-optie niet werkt..
Ten slotte neemt de SD-kaartgrootte zoveel ruimte op uw computer in beslag. Zorg ervoor dat u een SD-kaartformaat gebruikt dat groot genoeg is om uw toepassing te testen, maar er is geen echte dwingende noodzaak om de SD-kaart exact te emuleren. De SD-kaarten kunnen ook door de gebruiker worden vervangen, dus u kunt niet garanderen dat een gebruiker de originele kaart nog op zijn plaats heeft. U moet dus beslissen welke emulatie voor u het belangrijkst is. Bovendien kan de volledige emulatie het meest nuttig zijn wanneer deze wordt gebruikt met geautomatiseerde testtools in plaats van door mensen.
In deze tutorial leer je hoe je Android Virtual Devices (AVD's) kunt maken om veel populaire Android-apparaten te emuleren, waaronder: de HTC Evo 4G, de Google Nexus One, de Motorola Droid, de T-Mobile G1 en de Archos 5 internettablet.
De Android Emulator is de belangrijkste tool van de ontwikkelaar voor het ontwikkelen en publiceren van Android-applicaties, maar het is effectief als het de juiste doelapparaten emuleert. Dat is waar het maken van gedetailleerde AVD-configuraties voor doel-handsets essentieel wordt. Toch is het belangrijk om te onthouden dat de Emulator gewoon doet alsof - niet feitelijk de hardware- en softwarevaardigheden en -beperkingen uitvoert die uniek zijn voor dat apparaat. Om ervoor te zorgen dat uw applicatie werkt zoals verwacht op een bepaald apparaat, moet u het altijd op de eigenlijke hardware testen waar mogelijk. Dezelfde AVD kan worden gebruikt om meerdere applicaties te testen, of er kunnen meerdere AVD's worden gemaakt om verschillende apparaatconfiguraties voor één toepassing te testen.
Als je vragen hebt over deze tutorial, neem dan gerust contact met ons op. Raadpleeg de Dev Guide-documentatie op de Android Developer-website voor meer informatie over Android Virtual Devices (AVD's).
We hopen dat je deze tutorial leuk vond en kijk uit naar je feedback!
Mobiele ontwikkelaars Lauren Darcey en Shane Conder hebben samen meerdere boeken geschreven over Android-ontwikkeling: een diepgaand programmeerboek getiteld Android Wireless Application Development en Sams TeachYourself Android Application Development binnen 24 uur. Wanneer ze niet schrijven, besteden ze hun tijd aan het ontwikkelen van mobiele software bij hun bedrijf en het leveren van consultingservices. Ze zijn te bereiken via e-mail naar [email protected], via hun blog op androidbook.blogspot.com, en op Twitter @androidwireless.