Dela via


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.

Konfigurera utvecklingsmiljön

För att testa din Android-app i Windows-skrivbordsmiljön krävs lite konfiguration.

Förutsättningar

Enhetskrav.

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:

  1. Installera Amazon Appstore från Microsoft Store. Om du väljer Hämta påbörjas installationen av appen.
  2. 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.

Skärmbild av Microsoft Store-sidan med knappen Hämta på Amazon App Store-

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.

Skärmbild av Latte-appinställningar

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:

  1. Starta en Android-app som installerades med Amazon Appstore.

  2. 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:

  1. 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
    
  2. 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:

  1. Följ stegen för att ansluta till Windows-undersystemet för den virtuella Android-datorn™️ ovan.

  2. Installera APK med hjälp av adb-installationskommandot: adb install app-debug.apk

    Förväntade utdata:

    Performing Streamed Install
    Success
    
  3. 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 wasd 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:

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:

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.

Letterboxing- och Pillarboxing-exempel som visar tomma staplar som centrerar fönstret

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™️:

  1. Löpning
  2. Lightweight Doze: Aktiverad efter ingen appaktivitet i 3 minuter. Inaktiverad av användaraktivitet eller ett appmeddelande.
  3. 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.

VM-livscykeldiagram som visar körning, lätt doze och inte igång

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&trade;️ (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:

  1. Välj Windows-sökning i aktivitetsfältet i Windows.
  2. Sök efter "Amazon Appstore" och högerklicka på Amazon Appstore-ikonen.
  3. Välj "Appinställningar" i listrutealternativen.
  4. Välj "Lagring och cache" och klicka på både "Rensa lagring" och "Rensa cache".
  5. Gå tillbaka och välj "Tvångsavsluta".
  6. Stäng fönstret Amazon Appstore-inställningar.
  7. 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.