Zgodność pliku manifestu aplikacji na Chromebookach

Przygotowując aplikację na Androida do działania na Chromebookach, weź pod uwagę funkcje urządzenia, z której ona korzysta. Chromebooki nie obsługują wszystkich funkcji sprzętu i oprogramowania, które są dostępne 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ć.

Wymagania aplikacji dotyczące funkcji sprzętowych i określonych funkcji oprogramowania określasz w pliku manifestu. W tym dokumencie opisano deklaracje funkcji manifestu aplikacji, które są niezgodne z Chromebookami.

Niezgodne wpisy w pliku manifestu

Wpisy w pliku manifestu wymienione w tej sekcji nie są zgodne z Chromebookami. Jeśli aplikacja korzysta z którejkolwiek z tych pozycji, rozważ ich usunięcie lub dodanie razem z nimi wartości atrybutu required="false", aby umożliwić instalację aplikacji na Chromebookach.

Więcej informacji o deklarowaniu korzystania z funkcji bez wymagania jej dostępności na urządzeniu znajdziesz w przewodniku po elemencie manifestu <uses-feature>. Pełną listę funkcji i opisów funkcji manifestu aplikacji znajdziesz w dokumentacji funkcji .

Uwaga: Android Studio 2.3 i nowsze mają wbudowane testy lintacyjne, które pozwalają automatycznie sprawdzać plik manifestu. W Android Studio wybierz Plik > Ustawienia > Edytor > Inspekcje > Android > Lint > Poprawność > ChromeOS.

Funkcje sprzętowe

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

Funkcje specjalne

Aby zapewnić lepszą obsługę sprzętu Chromebooków, android.hardware.type.pc wyłącza emulację sygnału wejściowego myszy i touchpada. W tym wpisie musisz wskazać required="false". W przeciwnym razie aplikacja może 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: aparat z autofokusem
  • android.hardware.camera.capability.manual_post_processing: kamera, która korzysta z funkcji MANUAL_POST_PROCESSING, w tym z funkcją zastępowania automatycznego balansu bieli
  • android.hardware.camera.capability.manual_sensor: aparat, który korzysta z funkcji MANUAL_SENSOR, w tym obsługę blokowania automatycznej ekspozycji
  • android.hardware.camera.capability.raw: kamera, która korzysta z funkcji RAW, w tym możliwość zapisywania nieprzetworzonych plików DNG i udostępniania metadanych związanych z DNG.
  • android.hardware.camera.flash: aparat z lampą błyskową
  • android.hardware.camera.level.full: aparat obsługujący robienie zdjęć na poziomie FULL.
  • android.hardware.consumerir: podczerwień (IR)
  • android.hardware.location.gps: 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 komunikacyjnymi.
  • android.hardware.telephony.cdma: obsługa sieci wielokrotnych dostępu (CDMA) w dziale telefonicznym
  • android.hardware.telephony.gsm: obsługa sieci telefonicznych Globalnego Systemu Komunikacji Mobilnej (GSM)
  • android.hardware.type.automotive: urządzenie z systemem operacyjnym Android Automotive
  • android.hardware.type.television: telewizja, która została 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 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: detektor kroków

Obsługa ekranu dotykowego

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

Urządzenia z fałszywymi interfejsami dotykowymi wyposażono w system wprowadzania danych, który emuluje podstawowe zdarzenia dotykowe. Na przykład za pomocą myszy lub pilota może 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 na ekranach dotykowych, możesz wykonać jedną z tych czynności:

Funkcje oprogramowania

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

  • android.software.app_widgets: widżety aplikacji na ekranie głównym
  • android.software.device_admin: administrowanie zasadami dotyczącymi urządzeń
  • android.software.home_screen: zastępuje ekran główny urządzenia
  • android.software.input_methods: niestandardowe metody wprowadzania (wystąpienia obiektu InputMethodService)
  • android.software.leanback: interfejs zaprojektowany do wyświetlania na dużym ekranie
  • android.software.live_wallpaper: animowane tapety
  • android.software.live_tv: transmitowanie telewizji na żywo
  • android.software.managed_users: użytkownicy dodatkowi i profile zarządzane
  • android.software.sip: protokół SIP (Session Initiation Protocol), który obsługuje rozmowy wideo i komunikatory.
  • android.software.sip.voip: usługa Voice Over Internet Protocol (VoIP) oparta na protokole SIP, która obsługuje dwukierunkowe rozmowy wideo

Uprawnienia sugerujące wymagania funkcji

Niektóre uprawnienia, o które prosisz w plikach manifestu, mogą powodować sugerowane żądania dostępu do funkcji sprzętu i oprogramowania. Żądanie tych uprawnień uniemożliwia instalowanie aplikacji na Chromebookach.

Szczegółowe informacje o tym, jak zapobiec wyświetlaniu aplikacji na Chromebookach przez prośby o uprawnienia, znajdziesz w sekcji Niezgodne wpisy w pliku manifestu na tej stronie.

W tabeli poniżej znajdziesz uprawnienia sugerujące wymagania funkcji, które sprawiają, ż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 funkcji
Aparat CAMERA android.hardware.camera i
android.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