Inizia a creare app per ChromeOS

I dispositivi ChromeOS, come i Chromebook, supportano il Google Play Store e App per Android. Questo articolo presuppone che tu abbia un'app per Android esistente progettata per smartphone o tablet che vuoi ottimizzare per i Chromebook. Per apprendere le nozioni di base sullo sviluppo di app per Android, consulta l'articolo Creare il tuo primo Google Cloud.

Aggiorna il file manifest dell'app

Per iniziare, aggiorna il file manifest in modo che tenga conto di alcuni componenti hardware chiave e differenze software tra i Chromebook e altri dispositivi con sistema operativo Android.

A partire dalla versione M53 di ChromeOS, tutte le app per Android che non richiedono esplicitamente il android.hardware.touchscreen funzionano anche sui dispositivi ChromeOS che supportano Funzionalità android.hardware.faketouch. Tuttavia, per assicurarti che l'app funzioni Chromebook, aggiorna il file manifest in modo che La funzionalità android.hardware.touchscreen non è obbligatoria, come mostrato in dall'esempio seguente.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          ... >
    <!-- Some Chromebooks don't support touch. Although not essential,
         it's a good idea to explicitly include this declaration. -->
    <uses-feature android:name="android.hardware.touchscreen"
                  android:required="false" />
</manifest>

Ogni dispositivo hardware è dotato di set di sensori diversi e Chromebook potrebbe non avere tutti i sensori presenti nei dispositivi portatili Android come GPS e accelerometri. Tuttavia, in alcuni casi la funzionalità di un sensore è fornito in un altro modo. Ad esempio, Chromebook potrebbe non sono dotati di sensori GPS, ma forniscono dati sulla posizione basati sulle connessioni Wi-Fi. Per scoprire di più, consulta la panoramica dei sensori di più sui sensori supportati dalla piattaforma Android.

Se vuoi che la tua app venga eseguita sui Chromebook indipendentemente dalla disponibilità dei sensori: aggiorna il file manifest in modo che non siano necessari sensori.

Alcune funzionalità software non sono supportate sui Chromebook. Ad esempio, le app che forniscono IME personalizzati, widget di app, sfondi animati e Avvio applicazioni non sono supportati e non possono essere installati sui Chromebook. Per un elenco completo funzionalità software non supportate sui Chromebook, consulta la sezione incompatibile funzionalità software.

Aggiorna l'SDK target

Aggiorna il targetSdkVersion dell'app all'ultimo livello API disponibile per sfruttare tutti i vantaggi miglioramenti nella piattaforma Android. Esamina i miglioramenti apportati ad Android in diverse versioni.

Verificare i requisiti di rete

I Chromebook eseguono l'intero sistema operativo Android in un container, come Docker o LXC. Ciò significa che Android non ha accesso diretto alla rete LAN del sistema a riga di comando. Il traffico IPv4 passa invece attraverso un livello interno di rete traduzione degli indirizzi (NAT) e il traffico unicast IPv6 viene instradato tramite una hop.

Connessioni unicast in uscita da un'app Android a internet possono funzionare così com'è. In generale, le connessioni in entrata sono bloccate. Multicast o broadcast i pacchetti da Android non vengono inoltrati alla LAN tramite il firewall.

Come eccezione alla limitazione multicast, ChromeOS esegue un servizio che inoltra il traffico mDNS tra Android e l'interfaccia LAN, quindi lo standard API di rilevamento dei servizi di rete sono il metodo consigliato per rilevare altri dispositivi sul segmento LAN. Dopo il giorno trovare un dispositivo sulla LAN, un'app Android può usare la comunicazione unicast TCP o UDP standard per comunicare con quest'ultimo.

Le connessioni IPv4 provenienti da Android utilizzano l'indirizzo IPv4 dell'host ChromeOS. Internamente, l'app Android vede un indirizzo IPv4 privato assegnato alla rete a riga di comando. Le connessioni IPv6 provenienti da Android utilizzano un indirizzo diverso dall'host ChromeOS, perché il contenitore Android ha una piattaforma Indirizzo IPv6.

Utilizza il cloud e l'archiviazione locale in modo efficace

I Chromebook consentono agli utenti di eseguire facilmente la migrazione da un dispositivo a un altro. Se un utente interrompe l'accesso usare un Chromebook e iniziare a usarne un altro, devono solo eseguire l'accesso e vengono visualizzate tutte le loro app.

Grazie a questa funzionalità, esegui il backup dei dati dell'app sul cloud per abilitare la sincronizzazione su più dispositivi. Non devi però dipendere da una connessione a internet per funzionano normalmente. Salva invece il lavoro dell'utente localmente quando il dispositivo offline e sincronizzarlo con il cloud quando il dispositivo è di nuovo online.

I Chromebook possono anche essere condivisi tra un numero elevato di persone, ad esempio scuole. Poiché lo spazio di archiviazione locale non è infinito, interi account insieme possono essere rimossi dal dispositivo in qualsiasi momento. Per contesti educativi, è una buona idea tenere a mente questo scenario.

Aggiorna le librerie NDK

Se la tua app utilizza le librerie NDK di Android e la versione dell'SDK di destinazione è la 23 o più in alto, assicurati che i ritrasferimenti del testo vengano rimossi sia da ARM che da x86 delle librerie NDK in quanto non compatibili in Android 6.0 (API livello 23) e superiori. Lasciando i testi nelle librerie NDK, potrebbero causare errori di compatibilità con i Chromebook, in particolare quando in esecuzione su un dispositivo che utilizza un'architettura x86.

Sviluppa nuovi scenari di test per la tua app

Per sviluppare scenari di test per la tua app, assicurati innanzitutto di specificare lo scenario e i flag del file manifest. In particolare, ti consigliamo di impostare screenOrientation a unspecified. Se vuoi specificare un orientamento orizzontale, valuta la possibilità di utilizzare sensorLandscape per garantire un'esperienza ottimale su un tablet.

Se hai esigenze particolari in termini di dimensioni o orientamento per gli ambienti desktop, valuta aggiungendo meta tag come suggerimenti relativi a dimensioni o orientamento. Per includere dimensione e orientamento sui telefoni, specifica layout defaultHeight, defaultWidth, o minHeight .

Se ti interessa una gestione specifica del dispositivo di input per un dispositivo specifico categorie, specifica android.hardware.type.pc per disabilitare l'input modalità di compatibilità.

Se utilizzi qualsiasi tipo di rete, assicurati che l'app possa riconnettersi alla rete dopo la risoluzione di un problema di connessione o la riattivazione del dispositivo modalità sonno.

È consigliabile controllare l'elenco degli casi di test per le app Android su Chrome OS, che puoi usare nel tuo piano di test. Gli scenari di test riguardano scenari comuni per i quali le app per Android dovrebbero essere preparate se vengono eseguiti su dispositivi ChromeOS.

Modifiche alla modalità multi-finestra e all'orientamento

L'ambiente multi-finestra di ChromeOS può rendere persistenza e richiamo dello stato i problemi più evidenti. Utilizza ViewModel per salvare e ripristinare lo stato quando opportuno.

Per testare la persistenza dello stato, riduci a icona l'app per un po' di tempo e avviane un'altra che richiede molte risorse e ripristina l'app per confermare che torni a nello stato in cui l'avevi lasciato.

Prova il ridimensionamento della finestra premendo il tasto schermo intero (F4), l'ingrandimento e il ripristino. Per testare il ridimensionamento libero, abilitalo prima nelle Opzioni sviluppatore e quindi controlla che l'app venga ridimensionata senza arresti anomali.

Se il tuo dispositivo ChromeOS la supporta, passa dalla modalità laptop alla modalità tablet per controllare per vedere se tutto funziona come previsto. Ruota il dispositivo una volta in modalità tablet per cambia l'orientamento di prova, quindi passa di nuovo alla modalità laptop. Ripeti questo passaggio alcune volte.

Assicurati che la barra superiore non interrompa la tua app compensando gli elementi dell'interfaccia utente o input tocco in base alla posizione. Per i dispositivi ChromeOS, assicurati che la tua app non inserisce informazioni importanti nell'area della barra di stato.

Se utilizzi la fotocamera o un'altra funzione hardware, come la penna, assicurati di assicurati che il dispositivo funzioni correttamente quando apporti modifiche a finestre e dispositivi descritte in precedenza.