Obsługa aplikacji na urządzeniach z ChromeOS

Korzystając ze Sklepu Google Play, możesz instalować aplikacje na Androida w niektórych usługach Google Chromebooki. W tym dokumencie opisujemy Chromebooki, Chromeboksy Komputery Chromebase, na których można instalować aplikacje na Androida.

Omówienie

Większość telefonów z Androidem ma chipsety ARM. Jednak wiele urządzeń z ChromeOS używa układów x86. W przypadku podstawowych aplikacji napisanych w języku Kotlin lub Java ta różnica nie ma znaczenia. Jednak w przypadku aplikacji napisanych w kodzie natywnym, w tym tych utworzonych w grze układy scalone w urządzeniu mogą być istotnym problemem.

Najlepiej, gdy wszystkie aplikacje i gry z natywnym kodem mają być zainstalowane na wszystkich 4 głównych urządzeniach z Androidem. Interfejsy binarne aplikacji (ABI): armeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32) i x86_64. Zapewnia to największą wydajność i minimalne zużycie baterii przez poszczególne urządzenia. Na przykład aplikacja build.gradle oparta na cmake’u może zawierać:

Odlotowe

externalNativeBuild {
    cmake {
        abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
    }
}

Kotlin

externalNativeBuild {
    cmake {
        abiFilters("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
    }
}

Rozmiar pakietu Android Package Kit (APK)

Każdy interfejs ABI w monolitycznym pliku APK zwiększa swój rozmiar. Może to wpłynąć wykorzystanie miejsca na dysku przez użytkowników, rozmiar pobieranej aplikacji oraz informację o tym, czy dotyczy nie może wykraczać poza limity rozmiaru w Sklepie Play. Najlepszym sposobem, aby tego uniknąć, jest użycie Pakiety aplikacji na Androida.

Pakiety aplikacji pozwalają łatwo połączyć wszystkie 4 interfejsy ABI z poziomu Android Studio bez zwiększania pobierania danych przez użytkowników. Ułatwiają też korzystanie z dynamicznego wyświetlania, , aby użytkownicy mogli pobierać duże gry tylko na żądanie. Jeśli nie można użyć pakietów aplikacji możesz użyć starszej wersji wielu plików APK, podobne zachowanie.

Kompilacje 32- i 64-bitowe

Wszystkie aplikacje na Androida muszą udostępniać 64-bitową wersję kompilacji. Kompilacja 32-bitowa jest opcjonalna zarówno dla procesorów ARM, urządzeń x86. Zobacz 64-bitową wersję Androida dokumentacji⁠.

Dostarczenie tylko kompilacji 64-bitowej zmniejsza liczbę potrzebnych celów kompilacji i ale ogranicza też liczbę urządzeń, na których możesz uruchomić grę. Dla: Na przykład ze względu na inne ograniczenia sprzętowe wiele starszych Chromebooków obsługuje tylko 32-bitowy choć ma procesor 64-bitowy. Aby mieć pewność, że Twoja aplikacja będzie działać na tych urządzeniach, dodaj do 32-bitowej i 64-bitowej.

Translacja ARM

Chromebooki x86 starają się tłumaczyć kod ARM, gdy tylko jest to możliwe, Tłumacz spowalnia wydajność i zwiększa wykorzystanie baterii. Dla jak najlepszych użytkowników kompilacje x86. Jeśli to niemożliwe, uwzględnij interfejsy ABI zarówno w arm32, jak i arm64 ponieważ niektóre Chromebooki x86 mogą nie tłumaczyć kodu arm64.

Tłumaczenie arm32 jest dostępne na wszystkich Chromebookach z Androidem, ale nie na wszystkich mogą przetłumaczyć kod Arm64. Oznacza to, że jeśli Twoja gra ma tylko cele kompilacji w wersji arm64, nie jest dostępna na wielu urządzeniach z ChromeOS. Jeśli nie możesz wysłać produktu pliki binarne x86, uwzględnij w swoich kompilacjach zarówno interfejsy ABI arm32, jak i arm64.

Uwzględnione interfejsy ABI Pomoc dotycząca ChromeOS
grupa eksperymentalna64 Niska
arm32 i arm64 OK (z tłumaczeniem)
arm32, arm64, x86_32 i x86_64 Najlepsze