Rewolucja w niestandardowych pamięciach ROM: w jaki sposób Project Treble sprawia, że ​​przenoszenie Androida Oreo na 1 dzień

Fora od lat są centralnym miejscem gromadzenia niestandardowego oprogramowania ROM. To dzięki ciężkiej pracy programistów na naszych forach wiele starszych smartfonów z Androidem jest utrzymywanych przy użyciu niestandardowych pamięci ROM, czasem po latach po ich opuszczeniu przez producenta urządzenia. Chociaż większość producentów wypuszcza obecnie metody odblokowywania bootloadera, częste opóźnienia w wydaniach źródeł jądra utrudniają niestandardowe tworzenie pamięci ROM na wielu smartfonach. To może się wkrótce zmienić, dzięki czemuś zwanemu „Project Treble”, które zostało ogłoszone w pobliżu wydania Androida Oreo. Dzięki Project Treble czas potrzebny do przeniesienia ROM AOSP na urządzenie nie powinien już trwać tygodniami lub miesiącami - zamiast tego zajmie to tylko kilka dni .

Dla tych z was, którzy obserwowali niestandardową scenę ROM od lat, możecie już wiedzieć, jak ważna jest ta wiadomość. Uznany deweloper OldDroid nazwał to odkrycie „ przełomem ” w niestandardowym tworzeniu ROM AOSP. Na przykład dzięki wsparciu Project Treble udało mi się uruchomić prawie w pełni funkcjonalny ROM Android 8.0 Oreo ROM na Huawei Mate 9 - urządzeniu, które do tej pory nawet nie widziało żadnej pamięci ROM AOSP Android Nougat .

Być może wkrótce zobaczymy rewolucję w tworzeniu niestandardowych ROM dzięki początkowym wysiłkom programistycznym phhusson na tym froncie. Po 20 godzinach pracy nad badaniami, opracowywaniem i debugowaniem ze mną phhusson stworzył obraz systemu, który można uruchomić na wielu urządzeniach różnych producentów i przy całkowicie różnych SoC . Na przykład ten sam obraz systemu, który uruchomiłem na swoim własnym Huawei Mate 9, również uruchamia się w Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact i Essential Phone. To 3 różnych producentów OEM (Huawei / Honor, Sony i Essential) i 2 różne SoC (HiSilicon Kirin 960 i Qualcomm Snapdragon 835), w których można z powodzeniem uruchomić ten pojedynczy obraz systemu.

Możliwe, że w przyszłości zobaczymy pojedynczy obraz systemu, który może działać na dziesiątkach różnych smartfonów z Androidem, podobnie jak Microsoft Windows może działać na prawie każdym sprzęcie komputerowym. Aby zachęcić do dalszego rozwoju w tym zakresie, otworzyliśmy nowe forum poświęcone urządzeniom obsługującym Project Treble . Forum jest obecnie skierowane do programistów, dlatego prosimy o powstrzymanie się od rozpoczynania nowego wątku, chyba że jesteś zainteresowany udziałem w rozwoju. Jeśli chcesz pomóc w testowaniu obrazów systemu zgodnych z Treble, możesz dodawać komentarze do istniejących wątków.

Dołącz do Forum rozwoju projektu Treble

Biorąc pod uwagę znaczenie tego rozwoju i złożoność tematu, pomyślałem, że podchodzę do tego artykułu nieco inaczej niż inne. Będę przeglądać listę punktorów wyjaśniającą niektóre często zadawane pytania, a także wskazywać kluczowe fakty dotyczące tego ostatniego rozwoju.


Co to jest Project Treble?

Kredyty: Google

Project Treble jest najczęściej opisywany jako próba zmodularyzowania systemu operacyjnego Android w celu oddzielenia kodu specyficznego dla dostawcy. Rozbijmy trochę więcej:

  • Proces pełnej aktualizacji w celu wprowadzenia nowej wersji Androida na urządzenia to długi i złożony temat, ale Sony wykonało świetną robotę dzięki tej infografice, która opisuje podstawowe kroki.
  • „Sprzedawca” zazwyczaj odnosi się do producentów krzemu, takich jak Qualcomm, ale może również odnosić się do producenta dowolnego innego zastrzeżonego sprzętu znalezionego w urządzeniu. „Producent urządzenia” lub „OEM” zazwyczaj musi czekać na dostawcę, aby zaktualizował swój kod, aby zastrzeżony sprzęt współpracował z systemem operacyjnym Android OS w nowszej wersji Androida.
  • Jednak w Project Treble dzieje się tak, że Google wymaga oddzielnego kodu specyficznego dla dostawcy od systemu operacyjnego Android i zamiast tego musi istnieć we własnej implementacji dostawcy. Zwykle oznacza to, że na smartfonach z obsługą Treble istnieje oddzielna partycja / dostawca, która zawiera kilka warstw HAL (Hardware Abstraction Layers).
  • Ponadto dostawcy muszą wdrożyć kod, który umożliwia systemowi Android OS komunikację z HAL w standardowy sposób. Odbywa się to za pośrednictwem HIDL (HAL Interface Definition Language). Dzięki temu producent OEM może pracować nad aktualizacją Androida bez konieczności oczekiwania na dostawców aktualizacji HAL. Teoretycznie powinno to przyspieszyć cały proces aktualizacji Androida, ponieważ dostawcy mogą na przykład aktualizować swój kod w dowolnym momencie za pośrednictwem Sklepu Play.
  • Aby zrozumieć, czym jest HAL i jak odnosi się do Androida, zastanówmy się nad analogią. Wyobraź sobie samochód. Kierownica i hamulce to HAL, a kierowca to system operacyjny Android. Kierowca (Android) porusza kierownicą i naciska na hamulce (HAL), aby kontrolować ruch samochodu (sprzęt).
  • Wyobraź sobie teraz, że żyliśmy w świecie, w którym każdy producent samochodów postanowił zaprojektować koła kierownicy lub zmienić układ hamulców w zupełnie inny sposób. Jeśli umieścisz kierowcę w nowym samochodzie, mogą się mylić ze sposobem początkowej obsługi pojazdu. Ale dzięki standardom każdy kierowca powinien znać obsługę kierownicy i hamulców w prawie każdym samochodzie. Ponadto szkoła nauki jazdy uczy wszystkich kierowców właściwego sposobu obsługi pojazdu. W tej analogii standardami pojazdów są Project Treble, a szkołą nauki jazdy jest HIDL.

Android Oreo na Honor 8 Pro. Kredyty: uznany programista OldDroid

Jakie urządzenia otrzymają wsparcie Project Treble?

  • Wszystkie urządzenia uruchamiane z systemem Android 8.0 Oreo lub nowszym muszą w pełni obsługiwać Project Treble.
  • Wszystkie urządzenia, które aktualizują się do Androida 8.0 Oreo, niewymagane do pełnego wsparcia Project Treble.
  • Urządzenia, które mają aktualizacje (oficjalne wydania lub zamknięte wersje beta) systemu Android 8.0 Oreo i obsługują Treble, obejmują:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Honor 8 Pro
    • Honor 9
    • Niezbędny telefon
  • Jest mało prawdopodobne, aby jakiekolwiek urządzenia otrzymywały nieoficjalnie obsługę Project Treble poprzez niestandardowe tworzenie ROM. HAL nie są przecież otwartym oprogramowaniem.

Dlaczego Project Treble jest tak ważny dla ROM AOSP?

  • Aby zapewnić prawidłowe oddzielenie kodu dostawcy od systemu operacyjnego Android w sposób wymagany przez Project Treble, Google skonfigurował pakiet testowy dostawcy (VTS), który urządzenia muszą przejść, aby uzyskać certyfikat Google. Certyfikacja Google jest ważna, ponieważ bez niej urządzenie nie może być dostarczane z fabrycznie zainstalowanymi aplikacjami i usługami Google Play.
  • Jednym z wymagań VTS jest to, że urządzenie obsługujące wysokie tony musi mieć możliwość uruchomienia surowej, ogólnej wersji AOSP. Ze względu na ten wymóg producenci OEM muszą wysyłać urządzenia, które bez problemu mogą uruchomić AOSP.
  • Chociaż dokładna pamięć ROM, której Google używa i dzieli się z producentami OEM dla VTS, nie jest publiczna, starszy członek phhusson był w stanie dowiedzieć się, jak odtworzyć tę pamięć ROM ze źródła.
  • Tak więc mamy teraz działającą pamięć ROM AOSP, która ma gwarancję rozruchu na urządzeniach Project Treble . Większość pracy została już wykonana przez producentów OEM i dostawców, więc niezależni programiści na naszych forach nie muszą już bawić się kodem źródłowym jądra lub hakowaniem HAL. Teoretycznie ROM AOSP powinien „po prostu działać”, co pokazaliśmy, że jest w zasadzie prawdziwe na testowanych urządzeniach.
  • W tej chwili kompatybilność nie jest 100% ze wszystkimi urządzeniami, na których można uruchomić obraz systemu. Istnieją również pewne warunki wyścigowe, które należy rozwiązać. Jednak Project Treble znacznie ogranicza nakład pracy związanej z programowaniem potrzebnym do przeniesienia ROM AOSP na urządzenia inne niż Google. Przy współpracy większej liczby programistów na naszym forum projektu Treble spodziewamy się, że rozwój urządzeń Treble pójdzie daleko.

Jak wypróbować teraz system Android Oreo na moim urządzeniu?

Jeśli jesteś naprawdę żądny przygód i chcesz wypróbować jedną z tych wersji Project Treble na swoim telefonie, phhusson ma obrazy systemowe, które musisz pobrać w swoim wątku na naszym forum Project Treble. Należy jednak pamiętać o kilku rzeczach:

  • Będziesz potrzebował odblokowanego bootloadera i musisz umieć używać poleceń fastboot do flashowania obrazów.
  • Twoje urządzenie musi już działać w systemie Android Oreo . Te obrazy systemowe nie „uaktualniają” twojego urządzenia. Jeśli korzystasz z jednego z urządzeń Huawei / Honor wymienionych w tym artykule, możesz poszukać przewodnika na naszych forach lub skorzystać z usługi FunkyHuawei.club, aby nieoficjalnie zaktualizować swój telefon do jednej z zamkniętych wersji beta Oreo.
  • Podczas testowania musisz być gotów stracić dane lub zaktualizować obrazy fabryczne . Najlepszym sposobem na zapewnienie, że te buty zostaną uruchomione, jest wyczyszczenie partycji danych użytkownika, co obejmuje wyczyszczenie całej zawartości pamięci wewnętrznej. Oczywiście możesz tworzyć kopie zapasowe i przesyłać je po zakończeniu.
  • Te kompilacje AOSP nieobecnie przeznaczone do codziennego użytku. Są wyjątkowo gołe kości i nie oferują wielu wstępnie zainstalowanych funkcji lub aplikacji. Będziesz musiał sam flashować aplikacje Google. Będziesz musiał ręcznie wprowadzić ustawienia APN swojego operatora, aby komórkowa transmisja danych działała (jeśli działa). Sprawy będą się psuć, dopóki nie zostaną podjęte dalsze wysiłki na rzecz rozwoju.

Wniosek

Google nie żartował, gdy powiedział, że Project Treble jest prawdopodobnie jedną z największych zmian w sposobie działania Androida. Przekonamy się, tu i teraz, jak duży może mieć wpływ. Wysokie tony mogą być impulsem, który społeczność programistów potrzebuje, aby ożywić niestandardową scenę ROM. Uruchomienie prawie w pełni działającego ROM AOSP ROM na Huawei Mate 9. zajęło niecały dzień. Jestem podekscytowany widząc pracę, która zostanie wykonana dla innych urządzeń obsługujących wysokie tony.