Android-utviklere må målrette mot en rekke forskjellige Android-enheter for å nå det største antallet brukere. Ved å konfigurere Android-emulatoren korrekt for å etterligne oppførselen til forskjellige enheter, kan utviklere spare verdifull tid og penger på testing og identifisere inkompatibiliteter. I denne opplæringen lærer du hvordan du lager Android Virtual Device (AVD) konfigurasjoner for en rekke populære Android-enheter på markedet i dag. Spesielt vil du opprette AVD-konfigurasjoner for:
Forfatterne antar at leseren har noen grunnleggende kunnskaper om Android og har alle verktøyene installert og arbeidsspesifikt Eclipse, Android SDK og Android ADT plug-in for Eclipse. Du må bruke Android SDK og AVD Manager tilgjengelig i Eclipse IDE for denne opplæringen.
Merk: Hvis du ikke bruker Eclipse IDE for Android-utviklingen, kan du fortsatt følge denne opplæringen og lage de riktige AVD-konfigurasjonene ved hjelp av kommandolinjeverktøyet android.bat (eller android kommandoen på Mac og Linux) som er gitt i verktøyene katalog av Android SDK-installasjonen. Trinnene vil imidlertid være forskjellige, da du jobber på kommandolinjen i stedet for gjennom Android SDK og AVD Manager. For mer informasjon om android kommandolinjeverktøyet og hvordan du bruker det til å opprette og administrere AVD, kan du se Android SDK-dokumentasjonen.
Android SDK og AVD Manager er integrert i Eclipse IDE når du installerer Android Development Tools (ADT) plugin-modulen. Android SDK og AVD Manager brukes til å holde styr på de forskjellige Android SDK målene som er installert på utviklingsmaskinen din, samt å administrere Android Virtual Devices (AVD) som brukes av Android Emulator for å etterligne oppførselen til ekte Android-enheter.
En Android-emulator må ha en AVD-konfigurasjon for å fungere. En AVD representerer et unikt, vedvarende systembilde. Eventuelle innstillinger endret og programmer installert mens du bruker AVD i emulatoren, lagres i systembildet.
En AVD-konfigurasjon beskriver også hvordan emulatoren skal etterligne en ekte enhet, inkludert:
En fullstendig liste over alternativer for maskinvareemulering, inkludert innstillinger og standardverdier, er tilgjengelig i Android SDK-dokumentasjonen.
Du kan starte Android SDK og AVD Manager fra Eclipse-verktøylinjen ved å trykke på knappen med det grønne Android-ikonet med pilen () eller ved å velge Window-> Android SDK og AVD Manager.
En av de nyeste Android-enhetene på markedet, er HTC Evo 4G en kraftig ny telefon med en fin stor skjerm, en kraftig prosessor og et flott kamera.
De viktige spesifikasjonene til denne enheten fra et emulatorperspektiv er:
Derfor la oss lage en AVD-konfigurasjon kalt Evo4G:
Du har nå opprettet en AVD som kan brukes av Android Emulator for å ligner og oppføre seg som HTC Evo 4G. Hvis du starter en Android-applikasjon i emulator mens denne AVD-en, kan du se at skjermen ligner på den opplevelsen man ville ha på den aktuelle enheten. Hvis du eier en av disse enhetene, kan du umiddelbart legge merke til at skjermen ikke ser ut som den samme (programvare-vis). Emulatoren gir ikke tilleggsprogrammer fra tredjepart, for eksempel HTC Sense UI.
Googles Nexus One er en kraftig telefon med den nyeste Android-utgivelsen. Å være en enhet som ble solgt direkte av Google, synes denne telefonen å få oppdateringer senest. Den har også en fin skjerm og er ganske rask, spesielt med Android 2.2.
De viktige spesifikasjonene til denne enheten fra et emulatorperspektiv er:
La oss derfor lage en AVD-konfigurasjon kalt NexusOne:
Du har nå opprettet en AVD som kan brukes av Android Emulator for å ligne og oppføre seg som Google Nexus One. Hvis du starter en Android-applikasjon i emulator mens denne AVD-en, kan du se at skjermen ligner på den opplevelsen man ville ha på den aktuelle enheten. Her ser vi et bilde som viser Android-emulatoren ved hjelp av NexusOne AVD til høyre og en faktisk Nexus One til venstre.
Motorola Droid er en av de mest populære Android-telefonene som er tilgjengelige i USA i dag. Det er også forskjellig fra mange av de andre nyere Android-telefonene ved at det har et maskinvare-tastatur.
De viktige spesifikasjonene til denne enheten fra et emulatorperspektiv er:
Derfor la oss lage en AVD-konfigurasjon kalt MotoDroid:
Du har nå opprettet en AVD som kan brukes av Android Emulator til å ligner og oppføre seg som Motorola Droid. Hvis du starter en Android-applikasjon i emulator mens denne AVD-en, kan du se at skjermen ligner på den opplevelsen man ville ha på selve enheten.
T-Mobile G1 var det første offentlig tilgjengelige Android-håndsettet. Selv om mange brukere har oppgradert til nyere Android-enheter, er det fortsatt mange G1'er rundt. Faktisk, som av denne skrivingen, en god
50% av aktiverte enheter kjører fortsatt Android 1.5 og Android 1.6-en god indikasjon på at G1s og andre tidlige Android-telefoner fortsatt brukes.
De viktige spesifikasjonene til denne enheten fra et emulatorperspektiv er:
Derfor la oss lage en AVD-konfigurasjon kalt TMobileG1:
Du har nå opprettet en AVD som kan brukes av Android Emulator for å ligne og oppføre seg som T-Mobile G1. Hvis du starter en Android-applikasjon i emulator mens denne AVD-en, kan du se at skjermen ligner på den opplevelsen man ville ha på selve enheten.
Til slutt, la oss se på en Android-enhet som ikke er en telefon. Et godt alternativ er Archos 5 Internett-bordet. Utvikling for andre typer Android-enheter har sitt eget sett med utfordringer. Uten Google Add-ons, kan du ikke stole på at enkelte apper er til stede. For eksempel vil Google Maps-appen ikke være tilgjengelig. Enheten kan fortsatt ha en Maps-app, men du vet ikke nødvendigvis hvordan den vil oppføre seg. Testing uten at disse appene er tilstede, som du kan gjøre med emulatoren, anbefales sterkt, så du vet om programmet gjør antagelser om at det ikke skal.
De viktige spesifikasjonene til denne enheten fra et emulatorperspektiv er:
Derfor la oss lage en AVD-konfigurasjon kalt Archos5:
Du har nå opprettet en AVD som kan brukes av Android Emulator for å ligner og oppføre seg som Archos 5 Internet Tablet. Hvis du starter en Android-applikasjon i emulator mens denne AVD-en, kan du se at skjermen ligner på den opplevelsen man ville ha på den aktuelle enheten. Dette neste bildet viser Android-emulatoren ved hjelp av Archos5 AVD til høyre og en faktisk Archos 5 Internet Tablet til venstre.
For å kunne bruke AVDene du har opprettet, må du starte Android-emulatoren og tilordne den aktuelle AVD. Den enkleste måten å gjøre dette på innen Eclipse, er å velge et Android-prosjekt og oppdatere Debug eller Run Configuration for å målrette enten manuell modus eller en bestemt AVD etter navn. Når du kjører eller feilsøker applikasjonen, vil den aktuelle AVD bli lastet (hvis du velger en), eller du blir bedt om å manuelt velge en passende AVD fra Android Device Chooser, som vist nedenfor.
Hvis du vil kunne styre skjermstørrelsen på emulatoren, må du bruke "Start ..." -knappen fra Enhetsvelgeren eller fra Android SDK og AVD Manager. Du ser følgende dialog:
Pass på at du velger de riktige tallene for skrivebordet og skjermstørrelsen på enheten. På min 24-tommers skjerm som har en skjermoppløsning på 1920x1200, er dpi 94. Du må beregne dette for din egen skjerm eller laptop skjerm.
Selv om du nå kan etterligne en enhet på en langt mer realistisk måte, er det visse ulemper for å gjøre dette. For det første er du fortsatt bare bare etterfølger, som vi diskuterte. For det andre, og enda viktigere, gjør noen av disse innstillingene det vanskeligere å bruke emulatoren. Hvis du for eksempel velger å slå av tastaturet, vil emulatoren respektere det, og du vil bli tvunget til å bruke tastaturet på skjermen i Android. Også, hvis du slår av GSM-maskinvare, har du ikke mulighet til å lage en dataforbindelse da Wi-Fi-alternativet ikke fungerer, enten.
Til slutt tar SD-kortstørrelsen direkte opp så mye plass på datamaskinen. Pass på at du bruker en SD-kortstørrelse som er stor nok til å teste applikasjonen din, men det er ingen ekte overbevisende behov for å etterligne SD-kortstørrelsen nøyaktig. SD-kortene kan også byttes ut, slik at du ikke kan garantere at en bruker fortsatt har originalkortet på plass. Så, du må bestemme hvilken emulering som er viktigst for deg. I tillegg kan full emulering være mest nyttig når det brukes med automatiserte testverktøy i stedet for av mennesker.
I denne opplæringen lærte du hvordan du lager Android Virtual Devices (AVD) for å etterligne mange populære Android-enheter, blant annet: HTC Evo 4G, Google Nexus One, Motorola Droid, T-Mobile G1 og Archos 5 Internet Tablet.
Android-emulatoren er utviklerens viktigste verktøy for å utvikle og publisere Android-applikasjoner, men det er effektivt hvis det faktisk er å simulere de riktige målenhetene. Det er der å lage detaljerte AVD-konfigurasjoner for mål-telefoner blir viktig. Likevel, det er viktig å huske at emulatoren bare lirker - ikke egentlig kjører maskinvare og programvare evner og begrensninger som er unike for den enheten. For å sikre at søknaden fungerer som forventet på en gitt enhet, bør du alltid teste den på den aktuelle maskinvaren når det er mulig. Den samme AVD kan brukes til å teste flere applikasjoner, eller flere AVDer kan opprettes for å teste forskjellige enhetskonfigurasjoner for en enkelt applikasjon.
Hvis du har spørsmål om denne opplæringen, kan du kontakte oss. Hvis du vil ha mer informasjon om Android Virtual Devices (AVDer), kan du se dokumentasjonen for Dev Guide på Android Developer-webområdet.
Vi håper du likte denne opplæringen og ser frem til din tilbakemelding!
Mobilutviklere Lauren Darcey og Shane Conder har medforfatter flere bøker om Android-utvikling: en grundig programmeringsbok med tittel Android Wireless Application Development og Sams TeachYourself Android Application Development i 24 timer. Når de ikke skriver, bruker de sin tid på å utvikle mobil programvare hos deres firma og tilby konsulenttjenester. De kan nås via e-post til [email protected], via bloggen deres på androidbook.blogspot.com, og på Twitter @androidwireless.