Zacznij tworzyć aplikacje na ChromeOS

Urządzenia z ChromeOS, takie jak Chromebooki, obsługują Sklep Google Play i Aplikacje na Androida. W tym artykule zakładamy, że masz już aplikację na Androida przeznaczoną telefonów lub tabletów, które chcesz zoptymalizować pod kątem Chromebooków. Podstawy tworzenia aplikacji na Androida, przeczytaj artykuł Tworzenie pierwszego Androida

Zaktualizuj plik manifestu aplikacji

Na początek zaktualizuj plik manifestu, aby uwzględnić niektóre kluczowe elementy sprzętowe między Chromebookami a innymi urządzeniami z Androidem.

Od wersji M53 w ChromeOS wszystkie aplikacje na Androida, które nie wymagają jawnego żądania android.hardware.touchscreen działa też na urządzeniach z ChromeOS, które obsługują android.hardware.faketouch. Aby jednak mieć pewność, że aplikacja będzie działać na wszystkich urządzeniach na Chromebookach, zaktualizuj plik manifestu, aby Funkcja android.hardware.touchscreen nie jest wymagana, jak widać w z tego przykładu.

<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>

Poszczególne urządzenia mają różne zestawy czujników. Chromebooki mogą nie mieć wszystkich czujników zastosowanych w urządzeniach mobilnych z Androidem, takich jak GPS i akcelerometry. Jednak w niektórych przypadkach funkcja czujnika jest dostarczany w inny sposób. Na przykład Chromebooki mogą nie mają czujniki GPS, ale dostarczają dane o lokalizacji na podstawie połączeń Wi-Fi. Aby dowiedzieć się więcej, przeczytaj omówienie czujników. więcej informacji na temat czujników obsługiwanych przez platformę Android.

Jeśli chcesz, aby aplikacja działała na Chromebookach niezależnie od dostępności czujnika, zaktualizuj plik manifestu, aby nie były wymagane żadne czujniki.

Niektóre funkcje oprogramowania nie są obsługiwane na Chromebookach. Na przykład aplikacje, które nie udostępnia niestandardowych edytorów IME, widżetów aplikacji, animowanych tapet ani programów uruchamiających aplikacje, obsługiwane i nie można ich zainstalować na Chromebookach. Pełną listę funkcje oprogramowania nieobsługiwane na Chromebookach znajdziesz w sekcji Niezgodne funkcje oprogramowania.

Zaktualizuj docelowy pakiet SDK

Zaktualizuj targetSdkVersion aplikacji do najnowszego dostępnego poziomu interfejsu API, aby korzystać ze wszystkich kilka ulepszeń na platformie Androida. Przejrzyj ulepszenia wprowadzone w Androidzie w różnych wersjach.

Sprawdź wymagania dotyczące sieci

Na Chromebookach działa cały system operacyjny Android, podobnie jak w przypadku Dockera czy LXC. Oznacza to, że Android nie ma bezpośredniego dostępu do sieci LAN systemu. za pomocą prostego interfejsu online. Zamiast tego ruch IPv4 przechodzi przez wewnętrzną warstwę sieci translacja adresów (NAT), a ruch pojedynczy IPv6 jest kierowany przez dodatkową przeskok.

wychodzące połączenia typu unicast, głównie z aplikacji na Androida, do internetu; działają w takiej postaci, w jakiej jest. Połączenia przychodzące są zazwyczaj blokowane. Multicast lub transmisja pakiety z Androida nie są przekazywane do sieci LAN przez zaporę sieciową.

Jako wyjątek od ograniczenia transmisji grupowej w ChromeOS działa usługa, która przekazuje ruch mDNS między Androidem a interfejsem LAN, więc interfejsy API wykrywania usług sieciowych to zalecany sposób wykrywania innych urządzeń w segmencie LAN. Po znalezienie urządzenia w sieci LAN, aplikacja na Androida może używać standardowego połączenia pojedynczego TCP lub UDP. do komunikacji z nim.

Połączenia IPv4 pochodzące z Androida używają adresu IPv4 hosta ChromeOS. Wewnętrznie aplikacja na Androida widzi prywatny adres IPv4 przypisany do sieci. za pomocą prostego interfejsu online. Połączenia IPv6 pochodzące z Androida używają innego adresu z hosta ChromeOS, ponieważ kontener Androida ma dedykowaną publiczną Adres IPv6.

Efektywne korzystanie z chmury i pamięci lokalnej

Chromebooki umożliwiają użytkownikom łatwą migrację z jednego urządzenia na drugie. Jeśli użytkownik zatrzyma używa jednego Chromebooka i zaczyna używać innego, musi się tylko zalogować. wszystkie aplikacje.

Dzięki tej funkcji utwórz kopię zapasową danych aplikacji w chmurze, aby umożliwić synchronizację na różnych urządzeniach. Aplikacja nie wymaga jednak połączenia z internetem. działają normalnie. Zamiast tego zapisuj pracę użytkownika lokalnie, gdy urządzenie offline i synchronizować się z chmurą, gdy urządzenie znów będzie online.

Z Chromebooków może korzystać wiele osób, na przykład szkoły. Ponieważ pamięć lokalna nie jest nieskończona, całe konta – razem można usunąć z urządzenia w dowolnym momencie. Dla: w środowisku edukacyjnym, warto pamiętać o tym scenariuszu.

Zaktualizuj biblioteki NDK

Jeśli Twoja aplikacja korzysta z bibliotek NDK Androida, a jej docelowy pakiet SDK to wersja 23 lub wyżej, upewnij się, że relokacje tekstu zostały usunięte zarówno z procesorów ARM, jak i x86 bibliotek NDK, ponieważ są niezgodne z Androidem 6.0 (interfejs API na poziomie 23) i wyższym. Pozostawienie relokacji tekstu w bibliotekach NDK może też powodować błędy zgodności z Chromebookami, zwłaszcza gdy na urządzeniu z architekturą x86.

Tworzenie nowych przypadków testowych aplikacji

Aby utworzyć przypadki testowe aplikacji, najpierw określ odpowiednią w pliku manifestu. Warto w szczególności ustawić screenOrientation do: unspecified. Jeśli chcesz określić orientację poziomą, użyj sensorLandscape, aby zapewnić optymalną wygodę korzystania z tabletu.

Jeśli potrzebujesz dodatkowych informacji o rozmiarze lub orientacji ekranu, weź pod uwagę dodając metatagi jako wskazówki dotyczące rozmiaru lub orientacji. Aby uwzględnić rozmiar i orientację, na telefonach, określ układ defaultHeight, defaultWidth, lub minHeight .

Jeśli interesuje Cię obsługa konkretnego urządzenia wejściowego kategorie; wpisz android.hardware.type.pc, aby wyłączyć wprowadzanie trybu zgodności.

Jeśli korzystasz z sieci, upewnij się, że aplikacja może ponownie się połączyć do sieci po rozwiązaniu problemu z połączeniem lub po wybudzeniu urządzenia trybu uśpienia.

Zalecamy sprawdzenie listy przypadków testowych aplikacji na Androida w Chrome. OS, którego możesz użyć w swoim abonamencie. Przypadki testowe obejmują typowe scenariusze, na które należy przygotować aplikacje na Androida które mają działać na urządzeniach z ChromeOS.

Tryb wielu okien i zmiana orientacji

Środowisko trybu wielu okien w ChromeOS może zapewnić trwałość i czułość stanu są bardziej oczywiste. Użyj formatu ViewModel aby w razie potrzeby zapisać i przywrócić stan.

Aby sprawdzić trwałość stanu, zminimalizuj aplikację na jakiś czas i uruchom inną dużo zasobów, a następnie przywróć aplikację, aby potwierdzić, że w jakim stanie.

Przetestuj zmianę rozmiaru okna, naciskając klawisz pełnego ekranu (F4), maksymalizując i przywracania. Aby przetestować bezpłatną zmianę rozmiaru, najpierw włącz ją w opcjach programisty. a potem sprawdź, czy aplikacja płynnie zmienia rozmiar, nie ulegając awarii.

Jeśli Twoje urządzenie z ChromeOS obsługuje tę funkcję, przełącz się z trybu laptopa na tryb tabletu, aby sprawdzić, czy czy wszystko działa zgodnie z oczekiwaniami. Obróć urządzenie raz w trybie tabletu, aby przetestować zmiany orientacji, a następnie wrócić do trybu laptopa. Powtórz ten krok kilka razy.

Zadbaj o to, aby górny pasek nie zakłócał działania aplikacji, przesuwając elementy interfejsu lub dotykowe wprowadzanie danych na podstawie lokalizacji. W przypadku urządzeń z ChromeOS upewnij się, że aplikacja nie umieszcza ważnych informacji w obszarze paska stanu.

Jeśli używasz aparatu lub innej funkcji sprzętowej, takiej jak rysik, upewnij się, by upewnić się, że działa on prawidłowo po zmianie okna i urządzenia. omówione wcześniej.