Przygotowując aplikację na Androida do działania na Chromebookach, weź pod uwagę funkcje urządzenia, z których korzysta Twoja aplikacja. Chromebooki nie obsługują wszystkich funkcji sprzętowych i oprogramowania, które są dostępne na innych urządzeniach z Androidem. Jeśli aplikacja wymaga określonych funkcji, które nie są obsługiwane na Chromebookach, nie będzie można jej zainstalować na Chromebookach.
Wymagania aplikacji dotyczące funkcji sprzętowych i niektórych funkcji oprogramowania określasz w pliku manifestu. W tym dokumencie opisujemy deklaracje funkcji manifestu aplikacji, które są niezgodne z Chromebookami.
Niezgodne wpisy pliku manifestu
 Wpisy w pliku manifestu wymienione w tej sekcji są niezgodne z Chromebookami. Jeśli Twoja aplikacja korzysta z któregoś z tych wpisów, rozważ ich usunięcie lub dodanie do nich wartości atrybutu required="false", aby aplikacja mogła być zainstalowana na Chromebookach.
 Więcej informacji o deklarowaniu korzystania z funkcji bez konieczności jej udostępniania na urządzeniu znajdziesz w przewodniku na temat elementu manifestu  <uses-feature>. Pełną listę funkcji i opisów pliku manifestu aplikacji znajdziesz w dokumentacji funkcji .
Uwaga: Android Studio 2.3 i nowsze mają wbudowane funkcje sprawdzania lint, które pozwalają automatycznie sprawdzać plik manifestu. W Android Studio wybierz Plik > Ustawienia > Edytor > Inspekcje > Android > Lint > Prawidłowość > ChromeOS.
Funkcje sprzętowe
Obsługa funkcji sprzętowych różni się w zależności od Chromebooków. Niektóre funkcje nie są obsługiwane na żadnym Chromebooku, a inne tylko na niektórych.
Funkcje specjalne
Aby zapewnić lepszą obsługę sprzętu, android.hardware.type.pc wyłącza emulację wejścia w przypadku myszy i touchpada. Musisz wskazać w tym wpisie wartość required="false". W przeciwnym razie aplikacja będzie mogła działać tylko na Chromebookach.
Nieobsługiwane funkcje sprzętowe
Poniższa lista zawiera funkcje sprzętowe, które nie są obsługiwane na Chromebookach:
- 
    android.hardware.camera: tylny aparat
- 
    android.hardware.camera.autofocus: aparat z autofokusem
- 
    android.hardware.camera.capability.manual_post_processing: kamera korzystająca z funkcjiMANUAL_POST_PROCESSING, w tym funkcji zastępowania automatycznego balansu bieli
- 
    android.hardware.camera.capability.manual_sensor: aparat obsługujący funkcjęMANUAL_SENSOR, w tym obsługę automatycznego blokowania ekspozycji.
- 
    android.hardware.camera.capability.raw: aparat korzystający z funkcjiRAW, w tym możliwość zapisywania nieprzetworzonych plików DNG i przesyłania metadanych związanych z DNG.
- 
    android.hardware.camera.flash: aparat z lampą błyskową
- 
    android.hardware.camera.level.full: aparat korzystający z funkcji robienia zdjęć na poziomieFULL
- 
    android.hardware.consumerir: podczerwień (IR)
- 
    android.hardware.location.gps: system GPS
- 
    android.hardware.nfc: komunikacja Near Field Communication (NFC)
- 
    android.hardware.nfc.hce: wycofana emulacja karty NFC
- 
    android.hardware.sensor.barometer: barometr (ciśnienie powietrza)
- 
    android.hardware.telephony: telefonia, w tym radio z usługami komunikacji danych
- 
    android.hardware.telephony.cdma: dział kodu telefonicznego obsługa sieci wielokrotnego dostępu (CDMA)
- 
    android.hardware.telephony.gsm: globalny system telefonii do obsługi sieci komórkowej (GSM)
- 
    android.hardware.type.automotive: urządzenie z systemem operacyjnym Android Automotive
- 
    android.hardware.type.television: telewizor, który został wycofany
- 
    android.hardware.usb.accessory: tryb akcesoriów USB
- 
    android.hardware.usb.host: tryb hosta USB
Częściowo obsługiwane funkcje sprzętowe
Poniższa lista zawiera funkcje sprzętowe, które mogą być dostępne na niektórych Chromebookach:
- 
    android.hardware.sensor.accelerometer: akcelerometr (orientacja urządzenia)
- 
    android.hardware.sensor.compass: kompas
- 
    android.hardware.sensor.gyroscope: żyroskop (obrót i obrót urządzenia)
- 
    android.hardware.sensor.light: jasny
- 
    android.hardware.sensor.proximity: bliskość (do użytkownika)
- 
    android.hardware.sensor.stepcounter: licznik kroków
- 
    android.hardware.sensor.stepdetector: wykrywanie kroków
Obsługa sprzętowa z ekranem dotykowym
Od ChromeOS w wersji M53 wszystkie aplikacje na Androida, które nie wymagają funkcji 
android.hardware.touchscreen wprost, działają też na urządzeniach z ChromeOS, które obsługują tę funkcję 
android.hardware.faketouch. 
Urządzenia z fałszywymi interfejsami dotykowymi mają system wprowadzania danych użytkownika, który emuluje podstawowe zdarzenia dotykowe. Na przykład użytkownik może używać myszy lub pilota, aby przesuwać kursor na ekranie, przewijać listę i przeciągać elementy z jednej części ekranu do drugiej.
Jeśli nie chcesz instalować aplikacji na urządzeniach z fałszywymi interfejsami dotykowymi, ale nie z ekranami dotykowymi, możesz wykonać jedną z tych czynności:
- Wyklucz określone urządzenia w Konsoli Google Play.
- Filtruj urządzenia, które nie mają ekranu dotykowego, jawnie zadeklarując 
  android.hardware.touchscreenjako wymagane do zainstalowania aplikacji.
Funkcje oprogramowania
Poniższa lista zawiera funkcje oprogramowania, które nie są obsługiwane na Chromebookach:
- 
    android.software.app_widgets: widżety aplikacji na ekranie głównym
- 
    android.software.device_admin: administracja zasadami dotyczącymi urządzeń
- 
    android.software.home_screen: zastępuje ekran główny urządzenia
- 
    android.software.input_methods: niestandardowe metody wprowadzania (wystąpieniaInputMethodService)
- 
    android.software.leanback: interfejs zaprojektowany z myślą o wyświetlaniu na dużym ekranie
- 
    android.software.live_wallpaper: animowane tapety
- 
    android.software.live_tv: transmisja programów telewizyjnych na żywo
- 
    android.software.managed_users: użytkownicy pomocniczy i profile zarządzane
- 
    android.software.sip: usługa SIP (Session Initiation Protocol), która obsługuje rozmowy wideo i czat.
- 
    android.software.sip.voip: usługa VoIP (Voice Over Internet Protocol) oparta na protokole SIP, która obsługuje dwukierunkowe rozmowy wideo
uprawnienia sugerujące wymagania dotyczące funkcji,
Niektóre uprawnienia, o które prosisz w plikach manifestu, mogą powodować dorozumiane żądania dotyczące funkcji sprzętu i oprogramowania. Jeśli prosisz o te uprawnienia, uniemożliwiasz zainstalowanie aplikacji na Chromebookach.
Szczegółowe informacje o tym, jak zapobiec niedostępności aplikacji na Chromebookach przez prośby o uprawnienia, znajdziesz w sekcji Wpisy w komunikatach niezgodnych z zasadami na tej stronie.
W tej tabeli znajdziesz uprawnienia, które wynikają z wymagań dotyczących funkcji, które powodują, że aplikacja jest niezgodna z Chromebookami:
Tabela 1. Uprawnienia urządzenia sugerujące, że funkcje sprzętowe są niezgodne z Chromebookami.
| Kategoria | To uprawnienie | Oznacza to wymaganie dotyczące funkcji | 
|---|---|---|
| Aparat | CAMERA | android.hardware.cameraiandroid.hardware.camera.autofocus | 
| Telefonia | CALL_PHONE | android.hardware.telephony | 
| CALL_PRIVILEGED | android.hardware.telephony | |
| MODIFY_PHONE_STATE | android.hardware.telephony | |
| PROCESS_OUTGOING_CALLS | android.hardware.telephony | |
| READ_SMS | android.hardware.telephony | |
| RECEIVE_SMS | android.hardware.telephony | |
| RECEIVE_MMS | android.hardware.telephony | |
| RECEIVE_WAP_PUSH | android.hardware.telephony | |
| SEND_SMS | android.hardware.telephony | |
| WRITE_APN_SETTINGS | android.hardware.telephony | |
| WRITE_SMS | android.hardware.telephony | 
