Podsystem Windows dla systemu Android™️
Podsystem Windows dla systemu Android™️ umożliwia urządzeniu z systemem Windows 11 uruchamianie aplikacji systemu Android dostępnych w sklepie Amazon AppStore. Android jest znakiem towarowym Google LLC. Jeśli jesteś deweloperem zainteresowany ukierunkowaniem na urządzenia stacjonarne z systemem Windows i optymalizowanie pod kątem systemu operacyjnego Windows, ten przewodnik jest przeznaczony dla Ciebie.
Ważny
Od 5 marca 2025 r. podsystem Windows dla systemu Android™ i sklepu Amazon Appstore nie są już dostępne w Sklepie Microsoft Store.
- Powiadomienie o zakończeniu funkcjonowania sklepu Amazon Appstore w systemie Windows 11.
- Repozytorium Windows Subsystem for Android™️ na GitHub
- Apps z usługi Amazon AppStore
- Dostępność aplikacji mobilnych na platformie Windows
Konfigurowanie środowiska projektowego
Aby przetestować aplikację systemu Android w środowisku pulpitu systemu Windows, wymagane będzie nieco skonfigurowanie.
Warunki wstępne
Instalowanie sklepu Amazon AppStore
Sklep Microsoft Store automatycznie zainstaluje podsystem Windows dla systemu Android™️ w trybie dyskretnym po wykonaniu jednej z dwóch następujących akcji użytkownika:
- Zainstaluj Amazon Appstore z Microsoft Store. Wybranie Pobierz rozpocznie instalację aplikacji.
- Zainstaluj aplikację dla systemu Android ze sklepu Microsoft Store po raz pierwszy, która również zainstaluje sklep Amazon Appstore.
Aplikacja Amazon Appstore pojawi się w menu Start systemu Windows 11 i będzie dostępna w wyszukiwaniu, oferując katalog aplikacji systemu Android. Aplikacja Podsystem Windows dla systemu Android™️, która umożliwia sterowanie ustawieniami i funkcjami aplikacji mobilnej, będzie również wyświetlana w menu Start.
Notatka
Sklep Amazon Appstore w systemie Windows (wymaganie dotyczące uruchamiania aplikacji systemu Android w systemie Windows 11) jest dostępny w wybierz regiony.
Podsystem Windows dla ustawień systemu Android™️
Aby zmodyfikować ustawienia podsystemu Windows dla systemu Android™️, przejdź do: Uruchom > wszystkie aplikacje > Podsystem Windows dla systemu Android™️. Dowiedz się więcej o określonych funkcjach aplikacji ustawień: Zarządzanie ustawieniami dla aplikacji mobilnych w systemie Windows.
Testowanie i debugowanie
Aby przetestować i debugować aplikację na urządzeniu z systemem Windows 11 przy użyciu podsystemu Windows dla systemu Android™️, wymagane są następujące kroki konfiguracji.
Włączanie trybu dewelopera w ustawieniach systemu Windows
Musisz najpierw włączyć tryb dewelopera. Otwórz ustawienia Podsystemu Windows dla Androida™️. Po otwarciu włącz tryb dewelopera w obszarze Ustawienia zaawansowane.
Nawiązywanie połączenia z podsystemem Windows dla systemu Android™️ na potrzeby debugowania
Aby nawiązać połączenie z podsystemem Windows dla maszyny wirtualnej z systemem Android™️ na potrzeby debugowania:
Uruchom aplikację dla systemu Android zainstalowaną przy użyciu sklepu Amazon Appstore.
Możesz nawiązać połączenie przy użyciu narzędzia adb connect za pomocą następującego polecenia (musisz mieć zainstalowany adb):
adb connect 127.0.0.1:58526
Nawiązywanie połączenia z urządzeniem testowym
Aby nawiązać połączenie z urządzeniem testowym (z zainstalowanym podsystemem Windows dla systemu Android™️) w tej samej sieci z systemu Windows/Mac:
Na urządzeniu testowym (gdzie zainstalowano podsystem Windows dla systemu Android™️) otwórz okno programu PowerShell i zidentyfikuj adres IP urządzenia testowego, uruchamiając polecenie :
ipconfig
Za pomocą terminalu urządzenia debugowania, w którym zainstalowano program Android Studio i zestaw Android SDK (Mac/Windows), wprowadź polecenie:
adb connect <TEST DEVICE IP ADDRESS>:58526
<TEST DEVICE IP ADDRESS>
można znaleźć w danych wyjściowych polecenia "ipconfig" z urządzenia testowego. Możesz również wdrażać i debugować aplikacje z poziomu programu Android Studio.
Aby użyć Android Debug Bridge (ADB) do połączenia stacji roboczej dewelopera bezpośrednio z urządzeniem z systemem Android, aby móc instalować pakiety i oceniać zmiany, zobacz Android Debug Bridge w dokumentacji projektu Android Open Source.
Debugowanie aplikacji
Aplikacje powinny być instalowane przy użyciu sklepu Amazon Appstore, debugowanie aplikacji systemu Android na urządzeniu z systemem Windows jest możliwe przy użyciu pakietu APK (pakietu aplikacji systemu Android) i bazy danych adb (Android Debug Bridge).
Aby debugować plik APK przy użyciu bazy danych adb:
Wykonaj kroki, aby nawiązać połączenie z podsystemem Windows dla maszyny wirtualnej z systemem Android™️ powyżej.
Zainstaluj pakiet APK przy użyciu polecenia adb install:
adb install app-debug.apk
Oczekiwane dane wyjściowe:
Performing Streamed Install Success
W menu powiadomień systemu Windows zostanie wyświetlone powiadomienie o pomyślnym zainstalowaniu aplikacji, a aplikacja zostanie uruchomiona po wybraniu.
Kompilowanie uniwersalnych plików APK
Podsystem Windows dla systemu Android™️ wykorzystuje technologię Intel Bridge w celu włączenia aplikacji arm na procesorach opartych na architekturze x86. Aplikacje arm będą uruchamiane natywnie na procesorach opartych na usłudze Arm. Warstwa emulacji wywoła obciążenie wydajności — aby uzyskać optymalną wydajność, prześlij aplikację zarówno dla architektur x86-64, jak i Arm64.
Zagadnienia dotyczące zgodności danych wejściowych dla urządzeń z systemem Windows
Istnieje kilka unikatowych zachowań wejściowych, które prawdopodobnie będą wymagały aktualizacji kodu aplikacji systemu Android przeznaczonego dla urządzeń przenośnych, aby były zgodne podczas uruchamiania na urządzeniu stacjonarnym z systemem Windows za pośrednictwem sklepu Amazon AppStore.
Wprowadzanie z klawiatury
W przypadku tekstowych pól wejściowych obsługiwanych przez wirtualną klawiaturę ekranową (lub IME), taką jak EditText
, aplikacje powinny zachowywać się zgodnie z oczekiwaniami. (klasa EditText w dokumentacji systemu Android).
W przypadku naciśnięć, których nie można przewidzieć przez platformę, aplikacje będą musiały samodzielnie obsługiwać zachowanie. Jeśli ta funkcja jest już zaimplementowana w aplikacji, nie jest wymagana dodatkowa praca.
Na przykład niektóre gry mogą już obsługiwać ruch za pomocą klawiatury, korzystając z przycisków w
a
s
d
, obok wprowadzania dotykowego.
Poniżej przedstawiono dane wejściowe klawiatury, dla których deweloperzy powinni rozważyć aktualizacje kodu podczas kompilowania dla urządzeń z systemem Windows 11:
- Wprowadź klucz
- Nawigacja klawiszami strzałek i klawiszem Tab
- Zmień kolor wyróżnienia zaznaczonego elementu
- Skróty oparte na Ctrl
Dowiedz się więcej o tym, jak zoptymalizować te scenariusze wprowadzania klawiatury na urządzeniach stacjonarnych, postępując zgodnie z dokumentacją systemu Android:
- Przewodnik zgodności danych wejściowych w dokumentacji systemu Android
- Obsługa wprowadzania klawiatury w dokumentacji systemu Android
- Przewodnik korzystania z gestów dotykowych w dokumentacji Androida
Wprowadzanie myszy
Deweloperzy powinni rozważyć zaktualizowanie kodu dla następujących danych wejściowych myszy podczas kompilowania dla urządzeń z systemem Windows:
- Kliknij prawym przyciskiem myszy
- Etykietki narzędzi /Tekst aktywowania
- Efekty najechania
- Akcja kółka przewijania myszy
- Przeciąganie i upuszczanie
Dane wejściowe myszy, podobne do wprowadzania za pomocą klawiatury, muszą być zgodne z oficjalnymi wytycznymi aplikacji dla systemu Android. Oznacza to użycie klasy InputDevice
sparowanej z stałą SOURCE_MOUSE
. Dowiedz się więcej o tym, jak zoptymalizować te scenariusze wprowadzania myszy na urządzeniach stacjonarnych, postępując zgodnie z dokumentacją systemu Android:
- Przewodnik zgodności danych wejściowych w dokumentacji systemu Android
- referencja InputDevice w dokumentacji systemu Android
- SOURCE_MOUSE odwołanie w dokumentacji systemu Android
Zarządzanie oknami i zmienianie rozmiaru
W przeciwieństwie do tradycyjnych form urządzeń mobilnych, aplikacje systemu Android działające w systemie Windows 11 mogą być swobodnie zmieniane rozmiarowo, powinny dynamicznie dostosowywać się podczas zmiany rozmiaru i mogą być przypinane za pomocą akcji/gestów systemu Windows.
Wymaganie minimalnego ekranu
System Windows 11 wymusza minimalny wymóg rozdzielczości ekranu 720p (1280x720) z ekranem >9".
Skrzynka pocztowa & typu "pillar box"
Jeśli współczynnik proporcji rozmiaru okna nie jest zgodny z rozmiarami ekranów urządzenia, na których jest wyświetlane, wynik może być w formie letterboxingu (okno jest szersze niż wysokie lub dłuższe poziomo) lub pillarboxingu (okno jest węższe niż szerokie lub dłuższe w pionie). Wynikiem są paski umieszczane po bokach okna w celu wyśrodkowania go. Te paski mogą być jasne lub ciemne w zależności od wybranych ustawień systemowych. Nastąpi to tylko w razie potrzeby, gdy aplikacja systemu Android zostanie przyciągnięta lub zmaksymalizowana, dzięki czemu aplikacje systemu Android mogą korzystać z zaawansowanych funkcji przyciągania w systemie Windows i zintegrować się z modelem okienkowym.
przykład
Dodatkowe zagadnienia dotyczące zmiany rozmiaru
Podczas aktualizowania aplikacji systemu Android do uruchamiania na urządzeniu z systemem Windows 11 w odniesieniu do zarządzania oknami i zmiany rozmiaru należy również rozważyć następujące kwestie:
- Rozmiar początkowego uruchamiania
- Wymiary okna
- Granice zawartości
- Zmiana rozmiaru wolnego formularza
- Orientacja ekranu
Dowiedz się więcej o tym, jak zoptymalizować scenariusze zmiany rozmiaru okien na urządzeniach stacjonarnych, postępując zgodnie z przewodnikiem Windows Management w dokumentacji systemu Android.
Zdarzenia cyklu życia aplikacji
Tworzenie aplikacji systemu Android dla środowiska z wieloma oknami ma wpływ na zdarzenia cyklu życia wybrane do użycia w aplikacji. Podczas gdy zastępowanie zdarzenia onPause
może pozwolić osiągnąć pożądane wyniki na telefonie lub tablecie, zazwyczaj nie jest to odpowiednie zdarzenie do użycia, jeśli zmieniasz interfejs użytkownika swojej aplikacji.
Aby uzyskać opis zdarzeń cyklu życia, zobacz dokumentację systemu Android. Częściej niż nie, należy użyć zdarzenia onStop
, a nie zdarzeń onPause
lub onUserLeaveHint
. Faktycznie, wiele implementacji wielo-oknowych systemu Android nie dostarcza powiadomień onUserLeaveHint
, a tym samym wszelka krytyczna dla działalności biznesowej logika, która może znajdować się w tym programie obsługi zdarzeń, nie będzie wywoływana na tych platformach, w tym w podsystemie Windows dla systemu Android™️.
Zagadnienia dotyczące cyklu życia maszyny wirtualnej
Podsystem Windows dla systemu Android™️ korzysta z maszyny wirtualnej, która zapewnia zgodność z platformą AOSP i urządzeniami, takimi jak klawiatury, myszy, dotyk, pióro itp.
Istnieją trzy możliwe stany maszyny wirtualnej z uruchomionymi aplikacjami z podsystemem Windows dla systemu Android™️:
- Bieganie
- Lightweight Doze: Aktywowany po braku działania aplikacji przez 3 minuty. Dezaktywowane przez działanie użytkownika lub powiadomienie aplikacji.
- Nie uruchomiono: aktywowane po braku aktywności aplikacji przez 7 minut.
Przejścia między tymi stanami są wyzwalane przez działanie użytkownika, takie jak uruchamianie lub interakcja z aplikacją systemu Android lub powiadomieniem aplikacji. Aplikacje systemu Android są wstrzymane, a następnie zatrzymywane po zminimalizowaniu ich okna.
Właściwości maszyny wirtualnej
Poniżej wymieniono właściwości podsystemu Windows dla maszyny wirtualnej z systemem Android™️. Hardcoding tych wartości nie jest zalecane, ponieważ może to spowodować przyszłe niezgodności.
Własność | Wartość |
---|---|
Build.MANUFACTURER | Microsoft Corporation |
Build.MODEL | Podsystem dla systemu Android (TM) |
Build.VERSION.SDK_INT | 33 |
Build.BOARD | Windows |
Przekierowywanie do aplikacji systemu Windows
Podsystem Windows dla systemu Android™️ automatycznie przekierowuje intencje dla plików i typowych schematów identyfikatorów URI do odpowiedniego domyślnego programu obsługi plików/protokołu systemu Windows (jeśli wiele filtrów intencji jest zgodne, użytkownicy zobaczą opcję "Domyślna aplikacja systemu Windows" w oknie dialogowym wyboru). Obsługiwane intencje plików obejmują ACTION_VIEW, ACTION_EDIT, ACTION_SENDi ACTION_SEND_MULTIPLE, które kopiują plik do folderu Plików do pobrania systemu Windows przed jego otwarciem. Obsługiwane intencje identyfikatorów URI obejmują ACTION_VIEW dla schematów http/https oraz ACTION_VIEW i ACTION_SENDTO dla schematu mailto.
Aplikacje systemu Android mogą również ręcznie przekierowywać do aplikacji systemu Windows przy użyciu niestandardowych schematów identyfikatorów URI. Ustaw akcję intencji na com.microsoft.windows.LAUNCH_URI
i dodaj ciąg dodatkowy do intencji o nazwie com.microsoft.windows.EXTRA_URI
z niestandardowym identyfikatorem URI jako wartością. Aby na przykład uruchomić aplikację Kalkulator systemu Windows z poziomu aplikacji systemu Android (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).
}
Bezpieczeństwo
Zarówno sterowniki trybu jądra systemu Windows, jak i aplikacje systemu Windows działające na średnim poziomie integralności (IL) mogą sprawdzać dowolne kontenery systemu Android i pamięć aplikacji systemu Android. Nie ma planów dodania wykrywania oszustw/makr/bota/podejrzanych zachowań w krótkim okresie.
Deweloperzy zapytujący getSecurityLevel
otrzymają SECURITY_LEVEL_SW_SECURE_CRYPTO
. Dowiedz się więcej o getSecurityLevel
w przewodniku referencyjnym API systemu Android .
Odinstalowywanie podsystemu Windows dla systemu Android™️
Można odinstalować podsystem Windows dla systemu Android™️, ale należy pamiętać, że wszystkie skojarzone aplikacje również zostaną odinstalowane.
- Odinstalowanie sklepu Amazon AppStore spowoduje odinstalowanie podsystemu Windows dla systemu Android i wszystkich innych aplikacji systemu Android™️.
- Odinstalowanie aplikacji Amazon Appstore spowoduje tylko usunięcie tej aplikacji (takie samo działanie jak w przypadku aplikacji Windows).
- Odinstalowanie podsystemu Windows dla systemu Android™️ spowoduje odinstalowanie sklepu Amazon AppStore i wszystkich aplikacji systemu Android.
Rozwiązywanie problemów
Jeśli wystąpią problemy specyficzne dla sklepu Amazon Appstore w systemie Windows, spróbuj wykonać następujące kroki rozwiązywania problemów:
- Wybierz wyszukiwania systemu Windows na pasku zadań systemu Windows.
- Wyszukaj ciąg "Amazon Appstore" i kliknij prawym przyciskiem myszy ikonę sklepu Amazon AppStore.
- Wybierz pozycję "Ustawienia aplikacji" w opcjach listy rozwijanej.
- Wybierz pozycję "Magazyn i pamięć podręczna", a następnie kliknij pozycję "Wyczyść magazyn" i "Wyczyść pamięć podręczną".
- Wróć i wybierz pozycję "Wymuś zatrzymanie".
- Zamknij okno Ustawienia sklepu Amazon Appstore.
- Uruchom ponownie sklep Amazon AppStore.
Aby uzyskać dalsze kroki rozwiązywania problemów dotyczące aplikacji Ustawienia Podsystemu Windows dla systemu Android™️ lub zostawić opinię przy użyciu Centrum opinii, zobacz Rozwiązywanie problemów i często zadawane pytania dotyczące aplikacji mobilnych w systemie Windows.