Sottosistema Windows per Android™️

Sottosistema Windows per Android™️ consente al dispositivo Windows 11 di eseguire le applicazioni Android disponibili su Amazon Appstore. Android è un marchio di Google LLC. Questa guida si rivolge agli sviluppatori interessati in particolare ai dispositivi desktop Windows e all’ottimizzazione per il sistema operativo Windows.

Importante

Microsoft sta terminando il supporto per il Sottosistema Windows per Android ™️ (WSA). Di conseguenza, Amazon Appstore in Windows e tutte le applicazioni e i giochi dipendenti da WSA non saranno più supportati a partire dal 5 marzo 2025. Fino ad allora, il supporto tecnico rimarrà disponibile per i clienti.
I clienti che hanno installato le app Amazon Appstore o Android precedenti al 5 marzo 2024 continueranno ad avere accesso a tali app tramite la data di deprecazione del 5 marzo 2025. Contattare il team di supporto per ulteriori domande all'indirizzo support.microsoft.com. Siamo grati per il supporto della nostra community di sviluppatori e restiamo impegnati ad ascoltare il feedback durante l'evoluzione delle esperienze.

Per rendere disponibile l'app Android nei dispositivi Windows 11, è necessario:

Per altre informazioni o supporto:

Questa guida è utile per testare ed eseguire il debug della propria app Android in Windows:

Sviluppatore GitHub

Vuoi altre informazioni sulla roadmap del Sottosistema Windows per Android™️, discutere dei problemi degli sviluppatori e segnalare bug o richieste di funzionalità al team del sottosistema? Visitare il sottosistema Windows per gli sviluppatori di Android™️ su GitHub..

Anteprima del programma

L’anteprima del programma Sottosistema Windows per Android™️ consente agli utenti di ricevere build in anteprima di Sottosistema Windows per Android™️ e Amazon Appstore in Windows. Per altri dettagli, visitare la pagina Anteprima del programma.

Configurare l'ambiente di sviluppo

Per testare l'app Android nell'ambiente desktop di Windows, è necessario un minimo di configurazione.

Prerequisiti

Sottosistema Windows per Android™️ è disponibile su Windows 11. Il dispositivo deve soddisfare requisiti specifici: Requisiti del dispositivo.

Installare Amazon Appstore

Microsoft Store installerà automaticamente Sottosistema Windows per Android™️ in background quando viene eseguita una delle due azioni utente seguenti:

  1. Installare Amazon Appstore da Microsoft Store. Selezionando Scarica verrà avviata l'installazione dell'app.
  2. Installare per la prima volta un'app Android da Microsoft Store, che installerà anche Amazon Appstore.

L’app Amazon Appstore verrà quindi visualizzato nel menu Start di Windows 11 e sarà disponibile nella ricerca, offrendo un catalogo di app Android. L’app Sottosistema Windows per Android™️ che consente di controllare le impostazioni e le funzionalità delle app per dispositivi mobili, verrà visualizzata anche nel menu Start.

Screenshot of Microsoft Store page featuring the Get button on the Amazon App Store

Nota

Amazon Appstore in Windows (requisito per l'esecuzione di app Android su Windows 11) è disponibile in determinate aree geografiche.

Impostazioni Sottosistema Windows per Android™️

Per modificare le impostazioni del sottosistema Windows per Android™️ passare a: Start > Tutte le App > Sottosistema Windows per Android™️. Altre informazioni sulle funzionalità specifiche delle app per le impostazioni: Gestire le impostazioni per le app per dispositivi mobili in Windows.

Screenshot of Latte app settings

Eseguire test e debug

Per testare ed eseguire il debug dell’app in un dispositivo Windows 11 usando il Sottosistema Windows per Android™️, sono necessari i passaggi di configurazione seguenti.

Abilitare la modalità sviluppatore in Impostazioni di Windows

È necessario prima abilitare la modalità sviluppatore. Aprire le impostazioni Sottosistema Windows per Android™️. Dopo l'apertura, abilitare Modalità sviluppatore in Impostazioni avanzate.

Connettersi al Sottosistema Windows per Android™️ per il debug

Per connettersi alla macchina virtuale del Sottosistema Windows per Android™️ per il debug:

  1. Avviare un'app Android installata tramite Amazon Appstore.

  2. È possibile connettersi usando adb connect con il comando seguente (è necessario aver installato adb):

    adb connect 127.0.0.1:58526
    

Connettersi a un dispositivo di test

Per connettersi a un dispositivo di test (con Sottosistema Windows per Android™️ installato) nella stessa rete da Windows/Mac:

  1. Nel dispositivo di test (in cui è installato Sottosistema Windows per Android™️) aprire una finestra PowerShell e identificare l'indirizzo IP del dispositivo di test eseguendo il comando:

    ipconfig
    
  2. Usando il terminale del dispositivo di debug in cui è installato Android Studio e Android SDK (Mac/Windows), immettere il comando:

    adb connect <TEST DEVICE IP ADDRESS>:58526
    

Il <TEST DEVICE IP ADDRESS> è reperibile nell'output di "ipconfig" dal dispositivo di test. È anche possibile distribuire ed eseguire il debug delle app da Android Studio.

Per usare Android Debug Bridge (ADB) per connettere la workstation di sviluppo direttamente al dispositivo Android in modo da installare pacchetti e valutare le modifiche, vedere Android Debug Bridge nella documentazione del progetto Open Source Android.

Eseguire il debug dell'app

Mentre le app andrebbero installate con Amazon Appstore, è possibile eseguire il debug di un'app Android in un dispositivo Windows usando un APK (pacchetto di applicazione Android) e adb (Android Debug Bridge).

Per eseguire il debug di un APK usando adb:

  1. Seguire la procedura di connessione alla macchina virtuale del Sottosistema Windows per Android™️ descritta sopra.

  2. Installare il file APK usando il comando adb install: adb install app-debug.apk

    Output previsto:

    Performing Streamed Install
    Success
    
  3. Nel menu di notifica di Windows verrà visualizzata la notifica "app installata" e l'app verrà avviata una volta selezionata.

Compilazione di API universali

Sottosistema Windows per Android™️ usa la tecnologia Intel Bridge per abilitare le applicazioni Arm sui processori basati su x86. Le applicazioni Arm verranno eseguite in modo nativo nei processori basati su Arm. Il livello di emulazione causa un sovraccarico di prestazioni: per ottenere prestazioni ottimali, inviare l’applicazione sia per l'architettura x86-64 che per quella Arm64.

Considerazioni sulla compatibilità di input per i dispositivi Windows

Esistono alcuni comportamenti di input univoci da considerare che probabilmente richiederanno aggiornamenti al codice dell'app Android, progettata per i dispositivi palmari, per essere compatibile quando viene eseguita in un dispositivo desktop Windows tramite Amazon Appstore.

Input tastiera

Per i campi di input di testo gestiti da un metodo di input da tastiera virtuale (o IME) su schermo, ad esempio EditText, le app devono comportarsi come previsto. (Classe EditText nella documentazione Android).

Per le sequenze di tasti che non possono essere anticipate dal framework, le app dovranno gestire da sole il comportamento. Se l’operazione è già implementata nell’app, non è necessario alcun lavoro aggiuntivo.

Ad esempio, alcuni giochi possono già supportare lo spostamento facilitato tramite tastiera, tramite tasti wasd, insieme all'input tocco.

Di seguito sono elencati gli input da tastiera per i quali gli sviluppatori dovrebbero prendere in considerazione gli aggiornamenti del codice durante la compilazione per i dispositivi Windows 11:

  • Tasto INVIO
  • Spostamento con tasti di direzione e tasto tabulazioni
  • Modifica colore evidenziazione elemento selezionato
  • Tasti di scelta rapida basati su CTRL

Per altre informazioni su come ottimizzare questi scenari di input da tastiera nei dispositivi desktop, vedere la documentazione di Android:

Input tramite mouse

Gli sviluppatori dovrebbero prendere in considerazione l'aggiornamento del codice per i seguenti input del mouse durante la compilazione per i dispositivi Windows:

  • Fare clic con il pulsante destro del mouse
  • Descrizioni comando/testo al passaggio del mouse
  • Effetti al passaggio del mouse
  • Azione rotellina scorrimento del mouse
  • Trascinamento della selezione

L'input del mouse, come quello da tastiera, deve seguire le linee guida ufficiali delle app Android. Ciò significa usare la classe InputDevice associata alla costante SOURCE_MOUSE. Per altre informazioni su come ottimizzare questi scenari di input del mouse nei dispositivi desktop, consultare la documentazione di Android:

Gestione e ridimensionamento delle finestre

A differenza dei tradizionali fattori di forma dei dispositivi mobili, le app Android eseguite su Windows 11 possono essere ridimensionate liberamente, devono essere reattive nel loro ridimensionamento e possono essere ritagliate usando le azioni/gesti di Windows.

Requisiti minimi dello schermo

Windows 11 applica un requisito minimo di risoluzione dello schermo di 720p (1280x720) con uno schermo di >9".

Boxing lettera e pilastro

Quando le proporzioni della finestra non corrispondono alle dimensioni dello schermo del dispositivo in cui viene visualizzata, il risultato può essere Letterbox (finestra più larga che alta, o più lunga orizzontalmente) o Pillarbox (finestra più stretta che larga, o più lunga verticalmente). Il risultato è che le barre vengono posizionate ai lati della finestra per centrarla. Le barre possono essere di colore chiaro o scuro, a seconda delle impostazioni di sistema selezionate. Ciò si verifica solo quando l'app Android viene ritagliata o ingrandita, consentendo alle app Android di sfruttare le funzionalità avanzate di ancoraggio in Windows e di integrarsi nel modello di windowing.

Letterboxing and Pillarboxing example showing blank bars that center the window

Altre considerazioni sul ridimensionamento

Per quanto riguarda la gestione e il ridimensionamento delle finestre, quando si aggiorna un'app Android per eseguirla su un dispositivo Windows 11 si deve tenere conto di quanto segue:

  • Dimensioni iniziali all'avvio
  • Dimensioni della finestra
    • Limiti di contenuto
    • Ridimensionamento in formato libero
  • Orientamento dello schermo

Per altre informazioni su come ottimizzare gli scenari di ridimensionamento delle finestre nei dispositivi desktop, seguire la guida Gestione finestre nella documentazione Android.

Eventi del ciclo di vita dell'applicazione

Lo sviluppo di applicazioni Android per un ambiente multi-finestra ha un impatto sugli eventi del ciclo di vita che si sceglie di usare nell'applicazione. Mentre si esegue l’override dell'evento onPause possa ottenere i risultati desiderati su un telefono o un tablet, in genere è l'evento sbagliato da usare se si modifica l’esperienza utente dell’app.

Per una descrizione degli eventi del ciclo di vita, consultare la documentazione di Android. Il più delle volte, è consigliabile usare l'evento onStop e non l'evento onPause o onUserLeaveHint. Infatti, molte implementazioni Android multi-finestra non forniscono la notifica onUserLeaveHint e quindi qualsiasi logica business critical che potrebbe essere contenuta in tale gestore di eventi non verrà richiamata su queste piattaforme, incluso Sottosistema Windows per Android™️.

Considerazioni sul ciclo di vita della macchina virtuale

Sottosistema Windows per Android™️ usa una macchina virtuale (VM) che offre compatibilità con il Framework AOSP e i dispositivi come tastiere, mouse, touch, penna e così via.

Esistono tre possibili stati per la macchina virtuale che esegue app con Sottosistema Windows per Android™️:

  1. In esecuzione
  2. Sospensione leggera: si attiva dopo 3 minuti di inattività dell'app. Disattivato dall'attività dell'utente o da una notifica dell'app.
  3. Non in esecuzione: si attiva dopo 7 minuti di inattività dell'app.

Le transizioni tra questi stati vengono attivate dall'attività dell'utente, ad esempio l'avvio o l'interazione con l'app Android o una notifica dell'app. Le app Android vengono sospese e poi arrestate quando la finestra viene ridotta a icona.

VM lifecycle graph showing the running, lightweight doze, and not running

Proprietà della macchina virtuale

Le proprietà la macchina virtuale del Sottosistema Windows per Android™️ sono elencate di seguito. Si sconsiglia di codificare questi valori, in quanto potrebbe causare incompatibilità future.

Proprietà Valore
Build.MANUFACTURER Microsoft Corporation
Build.MODEL Sottosistema per Android (TM)
Build.VERSION.SDK_INT 33
Build.BOARD windows

Reindirizzamento alle app Windows

Sottosistema Windows per Android™️ reindirizza automaticamente le finalità dei file e degli schemi URI comuni al gestore di file/protocollo predefinito di Windows corrispondente (se più filtri finalità corrispondono, gli utenti visualizzano un'opzione "App predefinita di Windows" nella finestra di dialogo di selezione). Le finalità di file supportate includono ACTION_VIEW, ACTION_EDIT, ACTION_SENDe ACTION_SEND_MULTIPLE, che copiano il file nella cartella Download di Windows prima di aprirlo. Le finalità URI supportate includono ACTION_VIEW per gli schemi http/https e ACTION_VIEW e ACTION_SENDTO per lo schema mailto.

Le app Android possono anche reindirizzare manualmente alle app di Windows usando schemi URI personalizzati. Impostare l'azione della finalità su com.microsoft.windows.LAUNCH_URI e aggiungere una stringa aggiuntiva alla finalità denominata com.microsoft.windows.EXTRA_URI con l'URI personalizzato come valore. Ad esempio, per avviare l'app Calcolatrice Windows da un'app 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).
}

Sicurezza

Sia i driver in modalità kernel di Windows che le applicazioni Windows in esecuzione a livello di integrità medio (IL) possono ispezionare i contenitori Android arbitrari e la memoria delle app Android. Non sono previsti piani per l'aggiunta del rilevamento truffe/macro/bot/comportamenti sospetti nel breve termine.

Gli sviluppatori che eseguono query getSecurityLevel otterranno SECURITY_LEVEL_SW_SECURE_CRYPTO. Per altre informazioni su getSecurityLevel, vedere la guida di riferimento API Android.

Disinstallazione del sottosistema Windows per Android™️

È possibile disinstallare il sottosistema Windows per Android™️, ma è necessario tenere presente che verranno disinstallate anche tutte le app associate.

  • La disinstallazione di Amazon Appstore disinstallerà il Sottosistema Windows per Android™️ e tutte le altre app Android.
  • La disinstallazione di un'app Amazon Appstore disinstallerà solo l'app (stesso comportamento delle app Windows).
  • La disinstallazione del Sottosistema Windows per Android™️ disinstallerà Amazon Appstore e tutte le app Android.

Risoluzione dei problemi

Se si riscontrano problemi specifici con Amazon Appstore su Windows, provare a eseguire le operazioni per la risoluzione dei problemi seguenti:

  1. Selezionare Ricerca di Windows dalla barra delle applicazioni di Windows.
  2. Cercare "Amazon Appstore" e fare clic con il tasto destro del mouse sull'icona di Amazon Appstore.
  3. Selezionare "Impostazioni app" nelle opzioni del menu a discesa.
  4. Selezionare Archiviazione “e cache” e fare clic su “Cancella archiviazione” e “Cancella cache”.
  5. Tornare indietro e selezionare “Forza arresto”.
  6. Chiudere la finestra Impostazioni di Amazon Appstore.
  7. Riavviare Amazon AppStore.

Per ulteriori passaggi di risoluzione dei problemi relativi alle impostazioni dll’app Sottosistema Windows per Android™️ o per lasciare un feedback tramite Hub di Feedback, vedete Risoluzione dei problemi e domande frequenti per le app per dispositivi mobili in Windows.

Per qualsiasi altra domanda e supporto tecnico per gli sviluppatori, usare il tag Sottosistema Windows per Android ™️ in Microsoft Q&A.

Risorse aggiuntive