Zgodność pliku manifestu aplikacji na Chromebookach

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 funkcji MANUAL_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 funkcji RAW, 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 poziomie FULL
  • 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:

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ąpienia InputMethodService)
  • 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.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