Zgodność pliku manifestu aplikacji na Chromebookach

Podczas przygotowywania aplikacji 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 programowych dostępnych na innych urządzeniach z Androidem. Jeśli Twoja aplikacja wymaga określonych funkcji, które nie są obsługiwane na Chromebookach, nie będzie można jej zainstalować na tych urządzeniach.

Wymagania aplikacji dotyczące funkcji sprzętowych i niektórych funkcji oprogramowania deklarujesz w pliku manifestu. Ten dokument opisuje deklaracje funkcji w manifeście aplikacji, które nie są zgodne z Chromebookami.

Niezgodne wpisy w pliku manifestu

Wpisy w pliku manifestu wymienione w tej sekcji nie są zgodne z Chromebookami. Jeśli Twoja aplikacja korzysta z któregoś z tych wpisów, rozważ jego usunięcie lub dodanie do niego wartości atrybutu required="false", aby można było zainstalować aplikację na Chromebookach.

Więcej informacji o deklarowaniu użycia funkcji bez konieczności udostępniania jej na urządzeniu znajdziesz w przewodniku dotyczącym elementu manifestu <uses-feature>. Pełną listę funkcji pliku manifestu aplikacji i ich opisów znajdziesz w dokumentacji funkcji .

Uwaga: Android Studio ma wbudowane testy lint, które automatycznie weryfikują plik manifestu. W Android Studio wybierz File > Settings > Editor > Inspections > Android > Lint > Correctness > ChromeOS (Plik > Ustawienia > Edytor > Kontrole > Android > Lint > Poprawność > ChromeOS).

Funkcje sprzętu

Obsługa funkcji sprzętowych różni się w zależności od Chromebooka. Niektóre funkcje nie są obsługiwane na żadnych Chromebookach, a inne – tylko na niektórych.

Funkcje specjalne

Aby zapewnić lepszą obsługę sprzętu na Chromebookach, android.hardware.type.pc wyłącza emulację wejścia dla myszy i touchpada. W tym przypadku musisz podać wartość required="false", w przeciwnym razie aplikacja będzie mogła działać tylko na Chromebookach.

Nieobsługiwane funkcje sprzętowe

Poniżej znajdziesz listę funkcji sprzętowych, które nie są obsługiwane na Chromebookach:

  • android.hardware.camera: tylny aparat,
  • android.hardware.camera.autofocus: kamera z autofokusem
  • android.hardware.camera.capability.manual_post_processing: aparat korzystający z funkcji MANUAL_POST_PROCESSING, w tym z funkcji zastępowania automatycznego balansu bieli;
  • android.hardware.camera.capability.manual_sensor: aparat z funkcją MANUAL_SENSOR, w tym obsługą blokady ekspozycji automatycznej;
  • android.hardware.camera.capability.raw: aparat, który korzysta z RAW, w tym możliwość zapisywania plików DNG (RAW) i dostarczania metadanych związanych z DNG.
  • android.hardware.camera.flash: aparat z lampą błyskową,
  • android.hardware.camera.level.full: kamera, która korzysta z obsługi przechwytywania obrazu na poziomie FULL
  • android.hardware.consumerir: podczerwień (IR)
  • android.hardware.location.gps: Global Positioning System (GPS)
  • android.hardware.nfc: Near Field Communication (NFC)
  • android.hardware.nfc.hce: emulacja karty NFC, która jest wycofana.
  • android.hardware.sensor.barometer: barometr (ciśnienie powietrza)
  • android.hardware.telephony: telefonia, w tym radio z usługami transmisji danych;
  • android.hardware.telephony.cdma: obsługa sieci telefonicznej CDMA (Code Division Multiple Access)
  • android.hardware.telephony.gsm: obsługa sieci telefonii komórkowej GSM
  • android.hardware.type.automotive: urządzenie z systemem operacyjnym Android Automotive
  • android.hardware.type.television: telewizja (wycofana)
  • android.hardware.usb.accessory: tryb akcesorium 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 skręt urządzenia)
  • android.hardware.sensor.light: światło
  • android.hardware.sensor.proximity: bliskość (użytkownika)
  • android.hardware.sensor.stepcounter: licznik kroków
  • android.hardware.sensor.stepdetector: wykrywacz kroków

Obsługa sprzętu ekranu dotykowego

Od wersji M53 ChromeOS wszystkie aplikacje na Androida, które nie wymagają wyraźnie funkcji android.hardware.touchscreen, działają również na urządzeniach z ChromeOS, które obsługują funkcję android.hardware.faketouch.

Urządzenia z interfejsem dotykowym, który nie jest prawdziwy, zapewniają system wprowadzania danych przez użytkownika, który emuluje podstawowe zdarzenia dotykowe. Użytkownik może na przykład 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, aby Twoja aplikacja była instalowana na urządzeniach, które mają interfejsy z fałszywym dotykiem, ale nie mają ekranów dotykowych, możesz wykonać jedną z tych czynności:

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: zarządzanie zasadami dotyczącymi urządzeń
  • android.software.home_screen: zastępuje ekran główny urządzenia.
  • android.software.input_methods: niestandardowe metody wprowadzania (instancje InputMethodService)
  • android.software.leanback: interfejs zaprojektowany do wyświetlania na dużym ekranie
  • android.software.live_wallpaper: animowane tapety
  • android.software.live_tv: transmitowanie programów telewizyjnych na żywo;
  • android.software.managed_users: użytkownicy dodatkowi i profile zarządzane
  • android.software.sip: usługa Session Initiation Protocol (SIP), która obsługuje rozmowy wideo i wiadomości błyskawiczne.
  • android.software.sip.voip: usługa VoIP (Voice over Internet Protocol) oparta na protokole SIP, która obsługuje dwukierunkowe konferencje wideo.

Uprawnienia, które implikują wymagania dotyczące funkcji

Niektóre uprawnienia, o które prosisz w plikach manifestu, mogą tworzyć domniemane prośby o funkcje sprzętowe i programowe. Żądając tych uprawnień, uniemożliwiasz zainstalowanie aplikacji na Chromebookach.

Szczegółowe informacje o tym, jak zapobiegać wyświetlaniu próśb o uprawnienia, które mogą uniemożliwiać korzystanie z aplikacji na Chromebookach, znajdziesz w sekcji Niezgodne wpisy w pliku manifestu na tej stronie.

W tabeli poniżej znajdziesz uprawnienia, które oznaczają wymagania dotyczące funkcji, przez co aplikacja jest niezgodna z Chromebookami:

Tabela 1. Uprawnienia urządzenia, które implikują funkcje sprzętowe niezgodne z Chromebookami.

Kategoria To uprawnienie Oznacza wymaganie tej funkcji
Aparat CAMERA android.hardware.camera oraz
android.hardware.camera.autofocus
Połączenia telefoniczne 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