02/02/2024
At udvikle mobilapplikationer kan være en kompleks proces, især når det kommer til test og fejlfinding. Selvom intet fuldt ud kan erstatte test på en fysisk enhed, tilbyder Microsoft en kraftfuld løsning for udviklere: Windows 10 Mobile Emulatoren. Denne desktop-applikation simulerer et mobilt miljø, der kører Windows 10, og giver dig mulighed for at debugge og teste dine apps i et isoleret miljø uden behov for en rigtig telefon. Det er et uvurderligt værktøj for hurtig iteration og grundlæggende funktionalitetstest. Lad os dykke ned i, hvordan du installerer og udnytter dette værktøj til fulde.

Hvad er Windows 10 Mobile Emulatoren?
Microsoft Emulator for Windows 10 Mobile er et desktop-program, der emulerer en mobilenhed, der kører Windows 10. Det giver et virtualiseret miljø, hvor du kan debugge og teste dine Windows-apps uden at skulle bruge en fysisk enhed. Emulatoren er også ideel til at teste applikationsprototyper i et isoleret miljø, hvilket sikrer, at dine tidlige versioner er stabile, før du overvejer at implementere dem på rigtige enheder. Selvom emulatoren er designet til at give en ydeevne, der kan sammenlignes med en faktisk enhed, anbefales det altid at teste din app på en fysisk enhed, før du udgiver den til Microsoft Store for at sikre den bedst mulige brugeroplevelse under reelle forhold.
Du kan teste dine universelle apps ved hjælp af unikke Windows 10 Mobile emulator-billeder for forskellige skærmopløsninger og skærmstørrelseskonfigurationer, hvilket giver dig mulighed for at dække et bredt spektrum af enheder på markedet. Emulatoren simulerer real-world interaktion med en enhed og gør det muligt at teste forskellige funktioner i din app ved hjælp af de inkluderede værktøjer.
Systemkrav og Installation
For at kunne køre Microsoft Emulator for Windows 10 Mobile skal din computer opfylde visse systemkrav. Det er afgørende at sikre, at din udviklingsmaskine er klar til opgaven, før du påbegynder installationen.
Systemkrav
- CPU: Din processor skal understøtte hardware-assisteret virtualisering, Second Level Address Translation (SLAT) og Hardware-baseret Data Execution Prevention (DEP). Disse indstillinger skal ofte aktiveres i din computers BIOS/UEFI.
- RAM: Minimum 4 GB RAM eller mere anbefales for optimal ydeevne.
- Operativsystem: Windows 10 eller nyere, 64-bit, Pro-udgave eller nyere. Emulatoren kræver desuden, at Hyper-V er installeret og aktiveret på dit system. Du kan tjekke dine krav til RAM og operativsystem i Kontrolpanel under 'System og sikkerhed' og derefter 'System'.
Installation
Windows 10 Mobile Emulatoren leveres som en del af Windows 10 SDK. Den nemmeste måde at installere både SDK'en og emulatoren på er som en del af en Visual Studio-installation. Sørg for at downloade Visual Studio 2015 eller en nyere version, da emulatoren ikke er bagudkompatibel med ældre versioner af Visual Studio. Under installationen af Visual Studio skal du vælge de relevante komponenter for Windows 10 SDK og Mobile Emulator.
Afinstallation
Du kan afinstallere Microsoft Emulator for Windows 10 Mobile ved hjælp af Visual Studio's opsætnings-/reparationsfunktion eller via 'Programmer og funktioner' i Kontrolpanel. Vær opmærksom på, at den virtuelle Hyper-V Ethernet-adapter, der blev oprettet til emulatoren, ikke automatisk fjernes ved afinstallation. Denne virtuelle adapter skal du manuelt fjerne fra 'Netværksforbindelser' i Kontrolpanel.
Kørsel af Emulatoren
For at køre en app i emulatoren skal du blot vælge en emuleret enhed fra 'kør'-rullemenuen i Visual Studio. Dette gør det hurtigt og nemt at skifte mellem forskellige enhedskonfigurationer og teste din app under forskellige forhold.
Bagudkompatibilitet
Det er vigtigt at bemærke emulatorens kompatibilitetsbegrænsninger. Microsoft Emulator for Windows 10 Mobile kræver Visual Studio 2015 eller nyere; den er ikke bagudkompatibel med tidligere versioner af Visual Studio. Derudover kan emulatoren ikke indlæse apps, der er målrettet Windows Phone OS-versioner ældre end Windows Phone OS 7.1. Dette betyder, at hvis du arbejder med ældre Windows Phone-applikationer, skal du bruge ældre emulatorer eller fysiske enheder, der understøtter disse versioner.

Nye og Testbare Funktioner i Emulatoren
Udover understøttelse af Universal Windows Platform (UWP) har emulatoren tilføjet en række nye og forbedrede funktioner, der gør testprocessen mere robust og realistisk. Her er en oversigt over de vigtigste funktioner, du kan teste:
Mus-input og Multi-touch
- Mus-inputtilstand: Emulatoren understøtter nu mus-input, hvilket gør det muligt at differentiere mellem mus- og enkelt-touch-input. Dette er især nyttigt, hvis din app skal understøtte mus som inputmetode.
- Multi-touch Input: Simuler multi-touch-input til knibning og zoom, rotation og panorering af objekter ved hjælp af 'Multi-touch Input'-knappen på emulatorværktøjslinjen. Dette er afgørende for apps, der viser fotos, kort eller andre visuelle elementer, der kræver gestus-baseret interaktion.
NFC-understøttelse
NFC-understøttelse er en fremtrædende ny funktion, der gør det muligt at simulere NFC og teste og udvikle NFC/Proximity-aktiverede universelle apps. Dette er afgørende for scenarier som 'tap to share' (nærhed) og kortemulering (som 'tap to pay'). Du kan teste din app ved at simulere to telefoner, der 'tapper' sammen (ved hjælp af to emulatorer), eller ved at simulere et 'tap' til et tag. Windows 10-mobilenheder understøtter også HCE (Host Card Emulation), og du kan simulere et 'tap' til en betalingsterminal for APDU-kommando-respons-trafik.
NFC-fanen understøtter tre tilstande: Proximity Mode, HCE (Host Card Emulation) Mode og Smart Card Reader Mode. Det er vigtigt at bemærke, at når du først starter NFC-værktøjet, vil du sandsynligvis få en Windows Firewall-prompt. Du SKAL vælge alle tre afkrydsningsfelter og tillade værktøjet gennem firewallen, ellers vil det ikke fungere korrekt.
Grafisk Acceleration
Native hardwareacceleration forbedrer grafikydelsen i emulatoren ved at bruge dit lokale grafikkort. For at udnytte accelerationen skal du have et understøttet grafikkort installeret og aktivere accelerationen under 'Sensorer'-fanen i emulatorens 'Ekstra værktøjer'-indstillinger.
Andre Testbare Funktioner
- Skærmopløsning, skærmstørrelse og hukommelse: Test din app på forskellige emulatorbilleder for at simulere forskellige skærmopløsninger, fysiske størrelser og hukommelsesbegrænsninger.
- Skærmkonfiguration: Skift emulatoren fra portræt- til landskabstilstand og juster zoomindstillingen.
- Netværk: Netværksunderstøttelse er integreret og aktiveret som standard. Emulatoren bruger værtcomputerens netværksforbindelse og fremstår ikke som en separat enhed på netværket. Du kan også simulere forskellige netværkshastigheder (2G, 3G, 4G) og signalstyrker (God, Gennemsnitlig, Dårlig) via 'Netværk'-fanen under 'Ekstra værktøjer'.
- Sprog- og regionsindstillinger: Forbered din app til et internationalt marked ved at ændre sprog- og regionsindstillingerne i emulatoren (via appen 'Indstillinger' på emulatoren).
- Applikationslivscyklus og 'Tombstoning': Test din apps adfærd, når den deaktiveres eller 'tombstones', ved at ændre værdien af indstillingen 'Tombstone upon deactivation' på 'Debug'-siden i projektets egenskaber.
- Lokal fillagring ('Isolated Storage'): Data i isoleret lagring forbliver, mens emulatoren kører, men går tabt, når emulatoren lukker.
- Mikrofon: Emulatoren bruger mikrofonen på din værtcomputer til at simulere mikrofoninput.
- Telefon tastatur: Emulatoren understøtter mapping af dit udviklingscomputers hardwaretastatur til telefonens tastatur. Tryk på F4 for at aktivere/deaktivere.
- Låseskærm: Tryk F12 to gange på dit tastatur for at simulere telefonens tænd/sluk-knap og aktivere låseskærmen.
- Accelerometer: Test apps, der sporer telefonens bevægelse, ved hjælp af 'Accelerometer'-fanen under 'Ekstra værktøjer'. Du kan bruge live-input eller forudindspillet input (simulerer rystelse af telefonen).
- Lokation og kørsel: Test apps, der bruger navigation eller geofencing, ved hjælp af 'Lokation'-fanen under 'Ekstra værktøjer'. Dette er ideelt til at simulere kørsel, cykling eller gang under real-world lignende forhold med forskellige hastigheder og nøjagtighedsprofiler. Du kan placere pins, simulere realtidsbevægelse eller oprette ruter.
- SD-kort: Test din app med et simuleret flytbart SD-kort ved hjælp af 'SD-kort'-fanen under 'Ekstra værktøjer'. Du kan vælge en mappe på din udviklingscomputer til at fungere som SD-kortets indhold. Vær opmærksom på, at SD-kortet formateres med FAT32-filsystemet, hvilket giver en maksimal størrelse på 32GB, og hastigheden er begrænset for at efterligne virkelige hastigheder.
- Notifikationer: Send push-notifikationer til din app ved hjælp af 'Notifikationer'-fanen under 'Ekstra værktøjer'. Dette giver dig mulighed for at teste notifikationer uden at oprette den faktiske cloud-tjeneste, der normalt kræves.
- Sensorer: Test, hvordan din app fungerer på billigere telefoner, der ikke har alle valgfrie sensorer eller kamerafunktioner, ved hjælp af 'Sensorer'-fanen under 'Ekstra værktøjer'. Du kan aktivere eller deaktivere individuelle sensorer som omgivelseslyssensor, frontkamera, gyroskop, kompas (magnetometer), NFC og softwareknapper. Bemærk, at ændringer kræver en genstart af emulatoren.
- Billedfrekvensmålere ('Frame rate counters'): Brug billedfrekvensmålerne i Windows Phone-emulatoren til at overvåge ydeevnen af din kørende app. Du kan aktivere eller deaktivere visningen af disse tællere i din kode (typisk i App.xaml.cs ved at sætte
Application.Current.Host.Settings.EnableFrameRateCounter = true;).
Tastaturkortlægning
Tabellen nedenfor viser tastaturet på en hardwaretastatur, som du kan bruge til at emulere knapper og andre kontroller på en Windows Phone:
| Computertaster (Emulator Build 10.0.14295 og ældre) | Computertaster (Emulator Build 10.0.14332 og nyere) | Windows Phone hardwareknap | Noter |
|---|---|---|---|
| F1 | WIN + ESC | TILBAGE | Langt tryk fungerer som forventet. |
| F2 | WIN + F2 | START | Langt tryk fungerer som forventet. |
| F3 | WIN + F3 | SØG | |
| F4 | F4 (ingen ændring) | Skifter tastatur | Skifter mellem brug af lokal computers tastatur og ikke brug af lokal computers tastatur. |
| F6 | WIN + F6 | KAMERA HALV | En dedikeret kameraknap, der trykkes halvt ned. |
| F7 | WIN + F7 | KAMERA FULD | En dedikeret kameraknap. |
| F9 | WIN + F9 | LYD OP | |
| F10 | WIN + F10 | LYD NED | |
| F12 | WIN + F12 | STRØM | Tryk F12 to gange for at aktivere låseskærmen. Langt tryk fungerer som forventet. |
| ESC | WIN + ESC | TILBAGE | Langt tryk fungerer som forventet. |
Lokations- og Hastighedsprofiler
Ved simulering af lokation kan du vælge mellem forskellige nøjagtigheds- og hastighedsprofiler:
| Nøjagtighedsprofil | Beskrivelse |
|---|---|
| Pinpoint | Antager perfekt nøjagtige lokationsaflæsninger. Ikke realistisk, men nyttig til test af appens logik. |
| Urban | Antager, at bygninger begrænser antallet af synlige satellitter, men der er ofte en høj tæthed af mobilmaster og Wi-Fi-adgangspunkter. |
| Suburban | Antager, at satellitpositionering er relativt god, og der er god tæthed af mobilmaster, men Wi-Fi-adgangspunkter er ikke så tætte. |
| Rural | Antager, at satellitpositionering er god, men der er lav tæthed af mobilmaster og næsten ingen Wi-Fi-adgangspunkter. |
| Hastighedsprofil | Hastighed pr. time | Hastighed pr. sekund | Beskrivelse |
|---|---|---|---|
| Speed Limit | Hastighedsgrænse for ruten | Ikke relevant | Bevæg dig langs ruten med den angivne hastighedsgrænse. |
| Walking | 5 km/t | 1.39 m | Bevæg dig langs ruten i et naturligt gangtempo på 5 km/t. |
| Biking | 25 km/t | 6.94 m | Bevæg dig langs ruten i et naturligt cykeltempo på 25 km/t. |
| Fast | Hurtigere end hastighedsgrænsen | Bevæg dig langs ruten hurtigere end den angivne hastighedsgrænse. |
Funktioner der ikke kan testes i Emulatoren
Selvom emulatoren er et fremragende værktøj, er der visse funktioner, der enten ikke kan simuleres fuldt ud eller kræver test på en fysisk enhed for at give et realistisk resultat. For disse funktioner anbefales det kraftigt at udføre den endelige test på en faktisk enhed:
- Kompas: Selvom der er en grundlæggende simulationsmulighed under 'Sensorer', kan fuld nøjagtighed og reaktion i real-world forhold kun testes på en fysisk enhed.
- Gyroskop: Ligesom kompasset, kan grundlæggende gyroskopbevægelser simuleres, men den præcise interaktion og følsomhed i en app kræver en rigtig enhed.
- Vibrationscontroller: Vibrationsfeedback kan ikke simuleres i emulatoren.
- Lysstyrke: Emulatorens lysstyrkeniveau er altid sat til Høj og kan ikke justeres.
- Højopløsningsvideo: Videoer med en opløsning højere end VGA (640 x 480) kan ikke vises pålideligt, især på emulatorbilleder med kun 512 MB hukommelse.
Kendte Problemer og Fejlfinding
Som med enhver kompleks software kan der opstå problemer med emulatoren. Her er nogle kendte problemer og løsninger, der kan hjælpe dig med fejlfinding:
Fejlmeddelelse: "Failed while removing virtual Ethernet switch"
I visse situationer, herunder efter opdatering til en ny Windows 10-build, kan en virtuel netværksswitch, der er forbundet med emulatoren, ende i en tilstand, hvor den ikke kan slettes via brugergrænsefladen. For at løse dette problem skal du køre netcfg -d fra en administrator kommandoprompt. Efter kommandoen er færdig, skal du genstarte din computer for at fuldføre genoprettelsesprocessen. Vær opmærksom på, at denne kommando vil slette alle netværksenheder, ikke kun dem, der er forbundet med emulatoren.
Kan ikke starte emulatoren
Hvis du oplever, at emulatoren ikke kan startes, kan årsagen være, at emulator-VM'erne er i en dårlig tilstand. Microsoft Emulator inkluderer XdeCleanup.exe, et værktøj, der sletter alle VM'er, diff-diske og emulatorspecifikke netværksswitches. Kør værktøjet fra en administrator kommandoprompt: C:\Program Files (x86)\Microsoft XDE\<version>\XdeCleanup.exe. Vær opmærksom på, at XdeCleanup.exe sletter alle emulatorspecifikke Hyper-V VM'er og også sletter eventuelle VM-kontrolpunkter eller gemte tilstande.
Afinstallation af Windows 10 for Mobile Image
Når du installerer emulatoren, installeres et Windows 10 for Mobile VHD-billede, som får sin egen post på listen 'Programmer og funktioner' i Kontrolpanel. Hvis du ønsker at afinstallere billedet, skal du finde 'Windows 10 for Mobile Image -<version>' på listen over installerede programmer, højreklikke på det og vælge 'Afinstaller'. I den aktuelle udgivelse skal du derefter manuelt slette VHD-filen for emulatoren. Hvis du installerede emulatoren til standardstien, er VHD-filen typisk placeret på C:\Program Files (x86)\Windows Kits\10\Emulation\Mobile\<version>\flash.vhd.
Deaktivering af hardwareaccelereret grafik
Som standard bruger Windows 10 Mobile Emulator hardwareaccelereret grafik. Hvis du har problemer med at starte emulatoren med hardwareacceleration aktiveret, kan du deaktivere den ved at indstille en registreringsdatabasenøgle:
- Start Registreringseditor.
- Opret følgende registreringsdatabase-undermappe, hvis den ikke findes:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Xde\10.0. - Højreklik på mappen '10.0', peg på 'Ny' og klik derefter på 'DWORD-værdi'.
- Skriv
DisableRemoteFx, og tryk på Enter. - Dobbeltklik på
DisableRemoteFx, indtast1i feltet 'Værdi data', vælg indstillingen 'Decimal', og klik derefter på OK. - Luk Registreringseditor.
Efter indstilling af denne registreringsdatabasenøgle skal du slette den virtuelle maskine i Hyper-V-manager for den konfiguration, du startede i Visual Studio, og derefter genstarte emulatoren med software-renderet grafik.
Ofte Stillede Spørgsmål (FAQ)
- Kan jeg bruge ældre versioner af Visual Studio med Windows 10 Mobile Emulatoren?
- Nej, emulatoren kræver Visual Studio 2015 eller nyere for at fungere korrekt.
- Kan jeg teste apps målrettet Windows Phone OS 7.1 eller ældre i emulatoren?
- Nej, Windows 10 Mobile Emulatoren kan ikke indlæse apps, der er målrettet Windows Phone OS-versioner ældre end 7.1.
- Er emulatorens ydeevne identisk med en rigtig enhed?
- Emulatoren er designet til at give sammenlignelig ydeevne, men for den mest nøjagtige test, især før udgivelse, anbefales det altid at teste på en fysisk enhed.
- Hvordan simulerer jeg forskellige netværksforhold som 2G eller 4G?
- Du kan simulere netværkshastigheder og signalstyrker ved at åbne 'Ekstra værktøjer' i emulatoren og vælge 'Netværk'-fanen. Her kan du vælge mellem forskellige foruddefinerede profiler.
- Hvad skal jeg gøre, hvis emulatoren ikke starter?
- Prøv at køre
XdeCleanup.exefra en administrator kommandoprompt for at rydde op i virtuelle maskiner. Tjek også dine Hyper-V-indstillinger og systemkrav. - Kan jeg teste NFC-betalinger i emulatoren?
- Ja, emulatoren understøtter NFC-simulering, herunder Host Card Emulation (HCE) mode, som gør det muligt at teste 'tap to pay'-scenarier ved at skrive dine egne scripts til at simulere en smartkortlæser.
Hvis du vil læse andre artikler, der ligner Test Dine Windows 10 Mobilapps Med Emulatoren, kan du besøge kategorien Mobiludvikling.
