Windows-undersystem för Android™️
Windows-undersystem för Android™️ gör att din Windows 11-enhet kan köra Android-program som är tillgängliga i Amazon Appstore. Android är ett varumärke som tillhör Google LLC. Om du är en utvecklare som är intresserad av att rikta in sig på Windows-skrivbordsenheter och optimera för Windows-operativsystemet är den här guiden till för dig.
Viktig
Från och med 5 mars 2025 är Windows-undersystem för Android™ och Amazon Appstore inte längre tillgängliga i Microsoft Store.
- Meddelande om att Amazon Appstore upphör på Windows 11.
- Windows-undersystem för Android-lagringsplats™️ på GitHub
- -appar från Amazon Appstore
- Hjälpmedel för mobilappar i Windows
Konfigurera utvecklingsmiljön
För att testa din Android-app i Windows-skrivbordsmiljön krävs lite konfiguration.
Förutsättningar
Installera Amazon Appstore
Microsoft Store installerar automatiskt Windows-undersystemet för Android™️ tyst i bakgrunden när någon av följande två användaråtgärder vidtas:
- Installera Amazon Appstore från Microsoft Store. Om du väljer Hämta påbörjas installationen av appen.
- Installera en Android-app från Microsoft Store för första gången, som även installerar Amazon Appstore.
Amazon Appstore app visas sedan på Start-menyn för Windows 11 och är tillgänglig vid sökning och erbjuder en katalog med Android-appar. Den Windows-undersystemet för Android™️ app, som låter dig styra inställningar och funktioner för mobilappar, visas också på Start-menyn.
Not
Amazon Appstore i Windows (ett krav för att köra Android-appar på Windows 11) är tillgängligt i välj regioner.
Windows-undersystem för Android-inställningar™️
Om du vill ändra Windows-undersystem för Android-inställningar™️ går du till: Starta > Alla appar > Windows-undersystem för Android™️. Läs mer om specifika appfunktioner för inställningar: Hantera inställningar för mobilappar i Windows.
Testa och felsöka
För att testa och felsöka din app på en Windows 11-enhet med windows-undersystemet för Android™️ krävs följande konfigurationssteg.
Aktivera utvecklarläge i Windows-inställningar
Du måste först aktivera utvecklarläge. Öppna inställningarna för Windows-undersystem för Android™️. När du har öppnat aktiverar du utvecklarläge under Avancerade inställningar.
Ansluta till Windows-undersystemet för Android™️ för felsökning
Så här ansluter du till Windows-undersystemet för den virtuella Android-datorn™️ för felsökning:
Starta en Android-app som installerades med Amazon Appstore.
Du kan ansluta med adb connect med följande kommando (du måste ha adb installerat):
adb connect 127.0.0.1:58526
Ansluta till en testenhet
Så här ansluter du till en testenhet (med Windows-undersystemet för Android™️ installerat) i samma nätverk från Windows/Mac:
På testenheten (där Windows-undersystemet för Android™️ är installerat) öppnar du ett PowerShell-fönster och identifierar TEST-enhetens IP-adress genom att köra kommandot:
ipconfig
Ange kommandot med hjälp av felsökningsenhetens terminal där Android Studio och Android SDK är installerade (Mac/Windows):
adb connect <TEST DEVICE IP ADDRESS>:58526
<TEST DEVICE IP ADDRESS>
finns i utdata från "ipconfig" från testenheten. Du kan också distribuera och felsöka appar från Android Studio.
Om du vill använda Android Debug Bridge (ADB) för att ansluta din utvecklingsarbetsstation direkt till din Android-enhet så att du kan installera paket och utvärdera ändringar kan du läsa Android Debug Bridge i Android Open Source Project-dokumenten.
Felsöka din app
Även om appar bör installeras med Amazon Appstore är det möjligt att felsöka en Android-app på en Windows-enhet med hjälp av ett APK (Android-programpaket) och adb (Android Debug Bridge).
Så här felsöker du ett APK med hjälp av adb:
Följ stegen för att ansluta till Windows-undersystemet för den virtuella Android-datorn™️ ovan.
Installera APK med hjälp av adb-installationskommandot:
adb install app-debug.apk
Förväntade utdata:
Performing Streamed Install Success
Ett meddelande om att appen har installerats visas i Meddelandemenyn i Windows och appen startas när den har valts.
Skapa universella APK-filer
Windows-undersystem för Android™️ använder Intel Bridge-teknik för att aktivera Arm-program på x86-baserade processorer. Arm-program körs på armbaserade processorer internt. Emuleringsskiktet medför prestandakostnader – för optimala prestanda skickar du in ditt program för både x86-64- och Arm64-arkitekturerna.
Överväganden för indatakompatibilitet för Windows-enheter
Det finns några unika indatabeteenden att tänka på som sannolikt kräver att uppdateringar av din Android-appkod, utformad för handhållna enheter, är kompatibla när de körs på en Windows-skrivbordsenhet via Amazon Appstore.
Tangentbordsinmatning
För textinmatningsfält som hanteras av en virtuell tangentbordsinmatningsmetod på skärmen (eller IME), till exempel EditText
, bör appar bete sig som förväntat. (EditText-klass i Android-dokument).
För tangenttryckningar som inte kan förväntas av ramverket måste appar hantera själva beteendet. Om detta redan har implementerats i appen krävs inget extra arbete.
Som ett exempel kan vissa spel redan stödja rörelse som underlättas via tangentbord, via w
a
s
d
nycklar, tillsammans med pekinmatning.
Följande är tangentbordsindata som utvecklare bör överväga koduppdateringar för när de skapar för Windows 11-enheter:
- Ange nyckel
- Navigering med piltangent och tabbtangent
- Ändra markeringsfärg för markerat objekt
- Ctrl-baserade genvägar
Läs mer om hur du optimerar för dessa scenarier för tangentbordsinmatning på stationära enheter genom att följa Android-dokumentationen:
- kompatibilitetsguide för indata i Android-dokument
- Hantera tangentbordsinmatningsguide i Android-dokument
- Använd guide för pekgester i Android-dokument
Musinmatning
Utvecklare bör överväga att uppdatera kod för följande musindata när de skapar för Windows-enheter:
- Högerklicka
- Knappbeskrivningar/hovringstext
- Hovringseffekter
- Musrullningshjulsåtgärd
- Dra och släpp
Musinmatning, precis som tangentbordsinmatning, måste följa de officiella riktlinjerna för Android-appar. Det innebär att använda klassen InputDevice
parat med SOURCE_MOUSE
konstant. Läs mer om hur du optimerar för dessa musinmatningsscenarier på stationära enheter genom att följa Android-dokumentationen:
- Kompatibilitetsguide för input i Android-dokumentationen
- InputDevice-referens i Android-dokumenten
- SOURCE_MOUSE-referens i Android-dokumentationen
Fönsterhantering och storleksändring
Till skillnad från traditionella mobila formfaktorer kan Android-appar som körs på Windows 11 ändras fritt, bör vara dynamiska i storleksändringen och kan snappas med hjälp av Windows-åtgärder/gester.
Minsta skärmkrav
Windows 11 tillämpar ett minsta skärmkrav på 720p-upplösning (1280x720) med en >9"-skärm.
Brev & pillar boxing
När breddförhållandet för en fönsterstorlek inte justeras mellan de enhetsskärmsstorlekar som fönstret visas på kan resultatet vara Letterboxing (fönstret är bredare än det är högt eller vågrätt längre) eller Pillarboxing (fönstret är smalare än det är brett eller vertikalt längre). Resultatet är staplar som placeras på sidorna av fönstret för att centrera det. Dessa rutor kan ha ljust eller mörkt tema beroende på de valda systeminställningarna. Detta sker bara efter behov när Android-appen är snappad eller maximerad, vilket gör att Android-appar kan dra nytta av de rika snappfunktionerna i Windows och integreras i fönstermodellen.
Ytterligare överväganden för storleksändring
Följande bör också beaktas när du uppdaterar en Android-app för att köras på en Windows 11-enhet med avseende på fönsterhantering och storleksändring:
- Ursprunglig startstorlek
- Fönsterdimensioner
- Innehållsgräns
- Storleksändring av kostnadsfritt formulär
- Skärmorientering
Läs mer om hur du optimerar för fönsterändringsscenarier på stationära enheter genom att följa guiden Windows Management i Android-dokumenten.
Programlivscykelhändelser
Att utveckla Android-program för en miljö med flera fönster påverkar de livscykelhändelser som du väljer att använda i ditt program. Även om du åsidosätter händelsen onPause
kan det leda till de resultat du vill på en telefon eller surfplatta, är det vanligtvis fel händelse att välja om du ändrar appens UX.
En beskrivning av livscykelhändelserna finns i Android-dokumentationen. Oftast vill du använda händelsen onStop
och inte onPause
eller onUserLeaveHint
händelser. Faktum är att många Android-implementeringar med flera fönster inte levererar onUserLeaveHint
-meddelandet, och därför anropas inte någon affärskritisk logik som kan finnas i händelsehanteraren på dessa plattformar, inklusive Windows-undersystem för Android™️.
Livscykelöverväganden för virtuella datorer
Windows-undersystem för Android™️ använder en virtuell dator (VM) som ger kompatibilitet med AOSP-ramverket och enheter som tangentbord, möss, touch, penna osv.
Det finns tre möjliga tillstånd för den virtuella datorn som kör appar med Windows-undersystemet för Android™️:
- Löpning
- Lightweight Doze: Aktiverad efter ingen appaktivitet i 3 minuter. Inaktiverad av användaraktivitet eller ett appmeddelande.
- Körs inte: Aktiverad efter 7 minuters inaktivitet i appen.
Övergångar mellan dessa tillstånd utlöses av användaraktivitet, till exempel start eller interaktion med Android-appen eller ett appmeddelande. Android-appar pausas och stoppas sedan när deras fönster minimeras.
Egenskaper för virtuella datorer
Egenskaperna för Windows-undersystemet för den virtuella Android-datorn™️ visas nedan. Hårdkodning av dessa värden rekommenderas inte eftersom det kan orsaka framtida inkompatibiliteter.
Egenskap | Värde |
---|---|
Build.MANUFACTURER | Microsoft Corporation |
Build.MODEL | Undersystem för Android(TM) |
Build.VERSION.SDK_INT | 33 |
Build.BOARD | Windows |
Omdirigera till Windows-appar
Windows-undersystem för Android™️ omdirigerar automatiskt avsikter för filer och vanliga URI-scheman till motsvarande Windows-standardfil-/protokollhanterare (om flera avsiktsfilter matchar ser användarna alternativet "Windows standardapp" i dialogrutan väljare). Filintentioner som stöds inkluderar ACTION_VIEW, ACTION_EDIT, ACTION_SENDoch ACTION_SEND_MULTIPLE, som kopierar filen till Windows-mappen Downloads innan den öppnas. URI-avsikter som stöds omfattar ACTION_VIEW för http/https-scheman och ACTION_VIEW och ACTION_SENDTO för mailto-schemat.
Android-appar kan också omdirigeras manuellt till Windows-appar med hjälp av anpassade URI-scheman. Ange avsiktsåtgärden till com.microsoft.windows.LAUNCH_URI
och lägg till en extra sträng i avsikten med namnet com.microsoft.windows.EXTRA_URI
med den anpassade URI:n som värde. Om du till exempel vill starta Windows Calculator-appen från en Android-app (Java):
Intent intent = new Intent("com.microsoft.windows.LAUNCH_URI");
intent.putExtra("com.microsoft.windows.EXTRA_URI", "ms-calculator:");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
// Not running in Windows Subsystem for Android™️ (or running on an older build that did not contain this feature).
}
Säkerhet
Både Drivrutiner i Windows-kernelläge och Windows-program som körs på medelhög integritetsnivå (IL) kan inspektera godtyckliga Android-containrar och Android-appminne. Det finns inga planer på att lägga till identifiering för identifiering av fusk/makro/robot/misstänkta beteenden på kort sikt.
Utvecklare som begär getSecurityLevel
får SECURITY_LEVEL_SW_SECURE_CRYPTO
. Läs mer om getSecurityLevel
i referensguiden för Android API.
Avinstallera Windows-undersystem för Android™️
Du kan avinstallera Windows-undersystemet för Android™️, men observera att alla associerade appar också kommer att avinstalleras.
- Om du avinstallerar Amazon Appstore avinstalleras Windows-undersystemet för Android™️ och alla andra Android-appar.
- Om du avinstallerar en Amazon Appstore-app avinstalleras appen endast (samma beteende som Windows-appar).
- Om du avinstallerar Windows-undersystemet för Android™️ avinstalleras Amazon Appstore och alla Android-appar.
Felsökningsproblem
Om du stöter på problem som är specifika för Amazon Appstore i Windows kan du prova följande felsökningssteg:
- Välj Windows-sökning i aktivitetsfältet i Windows.
- Sök efter "Amazon Appstore" och högerklicka på Amazon Appstore-ikonen.
- Välj "Appinställningar" i listrutealternativen.
- Välj "Lagring och cache" och klicka på både "Rensa lagring" och "Rensa cache".
- Gå tillbaka och välj "Tvångsavsluta".
- Stäng fönstret Amazon Appstore-inställningar.
- Starta om Amazon Appstore.
För ytterligare felsökningssteg som rör appen Windows-undersystemet för Android™️-inställningar, eller för att lämna feedback med Feedback Hub, se Felsökning och vanliga frågor för mobilappar på Windows.
Windows developer