Fra og med 2019 var der over 2,5 milliarder aktive Android-enheder i omløb. Det antal stiger kun. Du har måske adgang til en Android-telefon eller -enhed. Men hvad nu, hvis du ikke har det? Det er her, en Android-emulator kan hjælpe; den kan simulere et Android-operativsystem og en Android-grænseflade, så du kan teste din Android-applikation.
Denne artikel fremhæver detaljerede oplysninger om Android-emulatorer, hvordan de fungerer, hvordan de bruges, og i hvilket omfang de korrekt kan teste dine Android- og webapplikationer.
Jeg vil gennemgå:
- Hvad er Android-emulatorer?
- Hvordan fungerer Android-emulatorer?
- Sådan konfigurerer du en Android-emulator
- Hvordan bruges Android-simulatorer til test?
- Android-emulator: Fordele og ulemper
- Hvilke Android-emulatorer er de bedste?
Hvad er Android-emulatorer?
Android-emulatorer er software, der er udviklet til at efterligne hardwaren og softwaren på en mobil Android-enhed med henblik på udvikling og test. Android-emulatorer kører på din Mac eller pc, så du kan udvikle Android-fokuserede applikationer ved dit skrivebord.

At spille eller teste spil er en populær grund til at bruge Android-emulatorer, men du kan også bruge dem til at køre alle applikationer, der er tilgængelige i Google Play Butik. Hvis du for eksempel kører din Instagram-app i en emulator, er det muligt at uploade billeder direkte fra din computer – noget, der ellers er umuligt.
For at vide, hvad en Android-emulator kan, bør du først forstå, hvordan den fungerer.
Hvordan fungerer Android-emulatorer?
Android-emulatorer som BlueStacks, NoxPlayer eller Genymotion er softwareapplikationer, der installeres på din stationære computer og kan simulere software- og hardwareoplevelsen ved brug af en Android-enhed. Med en af dem kan gamere spille mobilspil

Android-spil på pc og lader testere udvikle og teste Android-applikationer i realtid.
Emulatorer efterligner arkitekturen i det system, du målretter mod. Derfor kan du finde emulatorer til alle former for software og hardware, afhængigt af dine behov.
Hvad er Quick Emulator (QEMU)?

Som et open source-værktøj kører Quick Emulator på mange værter eller arbejdsstationer såsom operativsystemer/CPU'er for at emulere andre gæsteoperativsystemer/CPU'er.
QEMU driver Android-emulatorer, så de kan efterligne hardware på en gæsteenhed, der matcher en værtsenhed. Det kører som et program på din computer og oversætter gæstens Application Binary Interface, så det matcher det på en værtsenhed.
Oversættelsen er kompleks og tidskrævende, hvilket gør emulering ekstremt langsom. Men hvis arkitekturerne på værts- og gæsteenhederne ligner hinanden, bliver oversættelsen nem og hurtig.
Hvis dine værts- og gæsteenheder har en lignende instruktionsarkitektur, springer QEMU den binære oversættelsesproces over. Den kører straks gæsteenheden direkte på værtsenhedens CPU – en proces, der kaldes hardwareunderstøttet virtualisering.
Matchning af enhedsarkitekturen udføres ved hjælp af en hypervisor.
Have an account? Log In
Hvordan fungerer hypervisorer?

En hypervisor eller virtuel maskinmonitor (VMM) er software, der gør det muligt for en enhed, eksempelvis en computer, at understøtte mange gæste-VM'er ved at dele dens ressourcer, såsom processorkraft og hukommelse. Hypervisorer hjælper dig med at udnytte et systems ressourcer og giver større IT-mobilitet mellem forskellige servere.
Der findes to hovedtyper af hypervisorer: Type 1 eller bare metal samt Type 2 eller hostede hypervisorer.
- Type 1-hypervisorer fungerer som lette operativsystemer, der kører direkte på en værts hardware.
- Type 2-hypervisorer kører som software på et operativsystem ligesom andre computerprogrammer og -applikationer, så du kan køre en Android-app gennem softwaren.
Før 2017 krævede Androids ARM-arkitektur oversættelse fra en emulator i Android Developer Studio for at matche de fleste arkitekturer, der blev brugt på personlige computere.
Android udgav Developer Studio version 25.3.0, som forbedrede emulatoren ved at gøre det muligt for den at forbedre virtualiseringen via en hardwareunderstøttet protokol. Derfor skal du bruge en hypervisor til at udføre hardwareunderstøttet virtualisering, samtidig med at du skal være opmærksom på, at forskellige PC-operativsystemer understøtter forskellige hypervisorer.
Intel bruger Hardware Acceleration Execution Manager, HAXM, som hypervisorkomponent til Windows PC- og macOS-platforme, mens Linux bruger Kernel-based Virtual Machine, KVM.
Androids binære applikationsgrænseflade til x86 understøtter hardwareacceleration på forskellige PC'er. Men hvis du vil øge din enheds virtuelle ydeevne, kræver denne Android-emulator, at du installerer og aktiverer hypervisoren.
Hardwareacceleration gør det muligt for en Android-emulator at køre din virtuelle enhed med hastigheder, der ligner hastighederne på din aktive CPU.
Sådan konfigurerer du en Android-emulator
Efter udgivelsen af version 25.3.0 distribuerede Android sin emulator separat fra SDK-værktøjerne. Det kan være vanskeligt at konfigurere din Android-emulator, men her er en kort oversigt over processen.
Hardwarekrav
Du skal bruge Android SDK version 26.1.1 eller nyere. Din PC eller bærbare computer skal have en 64- eller 86-bit processortype for at fungere med Android-emulatoren.
Hvis du bruger Android 8.1 eller nyere versioner, skal du have et webkamera, der kan optage billeder i 720p.
For de fleste enheder beder emulatoren dig om at tillade hardwareacceleration af enhedens ydeevne, og du skal bruge HAXM version 7.2.0 Intel-hypervisoren til dette.
Brugere af Linux- og Windows-platforme har brug for yderligere enhedskomponenter, men det afhænger af deres processorer.
- På Linux kan brugere benytte AMD Virtualization-systemet med SIMD-sæt 3-udvidelser.
- På Windows PC kan brugere benytte AMD Android Studio version 3.2 eller nyere, som fungerer sammen med Windows-hypervisor-API'en.
Intel-brugere kan anvende Intel VT-x og Intel 64-understøttelse af Execute Disable (XD) Bit-funktionen.
Efter installation af din Android-emulator kan du nu få adgang til Android Manager for Virtual Devices, (AVD Manager).
Androids manager til virtuelle enheder (AVD)

Din AVD-manager giver dig mulighed for at konfigurere og tilpasse dine Android-enheder.
Den leveres med forudkonfigurerede profiler til telefoner, tablets og TV – hver især udviklet specifikt til de enkelte producenter. Den giver dig mulighed for at tilpasse eksterne funktioner og skærmstørrelsen samt importere en profil efter eget valg.
Google Play Butik og dens testpakke til kompatibilitet er dog kun tilgængelig på et begrænset antal enheder – kun dem, der lever op til Androids kompatibilitetsprogram.
AVD-manageren giver dig mulighed for at installere en system-ABI på din virtuelle enhed, som emulatoren anbefaler, og hvis arkitektur svarer til arkitekturen på din værtsprocessor.
Din AVD's konfiguration giver dig mulighed for at ændre definerede software- eller hardwareprofiler og konfigurere enhedsindstillinger som navn og orientering.
I sidste ende starter din emulator dine specifikationer for den virtuelle enhed og aktiverer yderligere kontroller og justeringer som geolokation, netværksforsinkelse, enhedsrotation, fingeraftrykssensor, kamera, batteritilstand og meget mere.
Virtuelle enheder giver dig mulighed for at gemme dine instanser i den samme tilstand, som da du lukkede dem, så du kan fortsætte, hvor du slap tidligere.
Hvordan bruges Android-simulatorer til test?
Før udviklere udfører ændringer i en gren, tester de kode i pipelines. Efter en hurtig enhedstest med IDE'en begynder instrumenteret og funktionel test.
Din Android-emulator giver dig mulighed for at udføre instrumenterede tests, for eksempel ved at kontrollere, at kode håndterer kerneressourcer og app-specifikke filer, samt teste funktionaliteten af dine eksterne afhængigheder.
Emulatorer hjælper også med appens ydeevnetest for at kontrollere, at interaktioner forløber problemfrit, og at apps bruger enhedens ressourcer inden for de krævede begrænsninger. For at opnå nøjagtige resultater skal du sørge for at måle din enheds CPU- og grafikfunktioner.
Din Android-emulator giver kun dine enheder mulighed for at køre ved hastigheder tæt på de oprindelige. Derfor bør du ikke forvente nøjagtigt de samme resultater som på en fysisk enhed. På virtuelle enheder kan du desuden ikke teste ydeevnen af dine Android-apps i forhold til andre benchmarks.
Der findes ingen pålidelig løsning, som giver dig mulighed for at teste native-apps i tilsvarende skalaer med Android-emulatorer. Du har brug for mange fysiske enheder til komplekse tests på tværs af browsere af brugergrænseflade og funktionalitet, så du kan teste på tværs af Chrome, Firefox, Safari og andre browsere.
Ingeniører bruger testautomatiseringsrammer som Espresso og Appium til at oprette testskripter og udføre dem på forskellige Android-enheder for at opfylde standardiserede kompatibilitetskrav.
Android-emulator: Styrker og svagheder
Android-emulatorer efterligner rigtige Android-enheder. Men de har også visse begrænsninger.
Styrker
Nogle af funktionerne i din Android-emulator omfatter hurtig dataoverførsel og kompatibilitet med fysiske sensorer som accelerometre.
- Hurtig dataoverførsel
Android-emulatorer hjælper dig med at overføre data hurtigere og mere effektivt end fysiske enheder, som du tilslutter via USB.
En emulator giver mulighed for at trække og slippe, så du kan beholde .apk-filer på den virtuelle enhed fra din arbejdsstation eller computer, hvilket hjælper udviklere med at teste apps hurtigere og mere effektivt.
- Kompatibilitet med fysiske sensorer
Android-emulatorer er nyttige, hvis du bruger fysiske sensorer som accelerometre. Når du tester et bestemt app-element, der i høj grad afhænger af sensorer, bliver det lettere at tilpasse dine indstillinger via de udvidede kontroller i din emulator.
More Articles
Svagheder
Nogle af de begrænsninger, som Android-emulatorer har, omfatter krav til ARM-processorer, diskpladsforbrug, kompleksitet ved hardwareacceleration og manglende pålidelighed ved forståelse af app-interaktioner.
- Krav til ARM-processor
De fleste moderne pc'er eller bærbare computere bruger Intel x86, og det mest almindelige Android-chipsæt er ARM v7a. Husk, at værts- og gæste-CPU-arkitekturerne skal matche for at opnå hurtig emulering. Uden en enhed, der indeholder en ARM-processor, bliver emuleringen derfor dårlig, især for de fleste Android-enheder på markedet.
- Diskplads
Din AVD-manager opretter separate mapper til henholdsvis data fra virtuelle enheder, cache og SD-kort. Én virtuel enhed optager mere end 3GB af den samlede diskplads og kan gå ned, hvis du ikke har tilstrækkelig plads under opstart.
- Kompleksitet ved hardwareacceleration
Hardwareacceleration forbedrer ydeevnen, men det er komplekst at konfigurere processen, selv for erfarne udviklere. Nogle gange medfører acceleration af din hardware fuldstændig systemnedetid eller systemsvigt.
- Manglende pålidelighed
Når det ikke rækker blot at forstå apps' interaktioner med værtsenhedens miljø, bliver Android-emulatorer upålidelige.
Det bliver for eksempel vanskeligt at kende dine apps' baggrundsprocesser, brugerfladernes udseende & lysstyrkeniveauer samt den måde, apps reagerer på forskellige berøringsbevægelser.
Hvad er de bedste Android-emulatorer?
Der findes mange gode muligheder, når det gælder valg af en Android-emulator til dit projekt, såsom GameLoop og MEmu. Du kan finde en liste over de bedste Android-emulatorer på markedet her samt tips til, hvilke der vil fungere til netop dine behov.
Hvis du bruger Linux, kan vores sammenligning af Android-emulatorer til Linux hjælpe dig med at finde en mulighed, der fungerer godt sammen med dit operativsystem.
Konklusion
Android-emulatorer har revolutioneret enhedernes funktioner og brugeroplevelsen. De tjener mange formål, såsom test af applikationer og spil på store skærme.
En Android-emulator kan være en værdifuld tilføjelse til dine elektroniske enheder, fordi den giver dig mulighed for at forbinde forskellige aspekter af alle dine enheder samtidig.
Med den ideelle Android-emulator kan du forbedre dine enheders kapacitet og funktionalitet samt forbedre din brugeroplevelse med dem.
Relateret podcast, som du kan læse/lytte til: NÆSTE GENERATIONS MOBILTEST (MED ERAN KINSBRUNER FRA PERFECTO)




