Czy istnieje techniczny powód, dla którego historia aktualizacji Androida jest tak zła?

16

Czy istnieje techniczny powód, dla którego telefony z Androidem pozostają w tyle za stabilną wersją Androida?

Dotyczy to obu nowych telefonów, na przykład podczas ostatniej podróży do sklepu telefonicznego wszystko było od 4.0 do 4.2.1, KitKat nie był widoczny. A także stare telefony, iPhone 4 mojej dziewczyny miał aktualizację OTA do najnowszego systemu operacyjnego, to jest telefon z lipca 2010 roku, podczas gdy Android z lipca 2010 roku jest zasadniczo przyciskiem do papieru.

Prawdopodobnie sam Android nie zajmuje się samym sprzętem, a zatem rozmawia z systemem operacyjnym za pomocą abstrakcji? Wydaje mi się, że wtedy producent telefonu zapewnia tylko sterowniki dla określonego sprzętu, więc nie widzę problemu z wypychaniem aktualizacji OTA, jeśli ABI pozostaje stabilny (mój telefon nie rozwija nowych funkcji sprzętowych).

Mâtt Frëëman
źródło
W każdym razie mamy forum.xda-developers.com/…
samnaction
Sterowniki sprzętowe są wewnętrzne dla jądra, a ABI nie jest wewnętrznie stabilny. Nie ma też ścisłej zgodności między wersją Androida a wersją jądra; producenci mogą, ale nie muszą, aktualizować jądro z aktualizacjami dla użytkowników. Jeśli tak, to nie ma zgodności binarnej z istniejącymi sterownikami. Jednak większość ciężaru spoczywającego na producencie nadal będzie musiała zostać dostosowana do nowej przestrzeni użytkownika - nie rozumiem, w jaki sposób charakter ABI jest tutaj szczególnie istotny.
goldilocks
Twój ostatni akapit sugeruje mi, że masz błędne wyobrażenie o tym, ile Android robi za kulisami. Abstrakcje i interfejsy muszą się ciągle zmieniać, aby obsługiwać nowe funkcje sprzętowe, a także lepszą reprezentację oprogramowania. Być może możesz zadać dodatkowe pytanie na ten temat.
Dan Hulme
Tyle że iPhone, który został zaktualizowany, działa teraz jak pies i zmusza Cię do uaktualnienia sprzętu, podczas gdy telefon z Androidem działa tak jak zawsze i po prostu nie zawiera nowych funkcji.
JamesRyan

Odpowiedzi:

18

Zobacz to zdjęcie wydane przez HTC. Opisuje proces aktualizacji w bardzo szczegółowej formie:

Anatomia aktualizacji systemu operacyjnego Android

Zmiana rozmiaru obrazu (kliknij, aby zobaczyć pełny rozmiar)

MPeti
źródło
Edycja dokonana przez t0mm13b spowodowała uszkodzenie adresu URL (wersja user11153 była poprawna). Ze względu na minimalną długość edycji 6 znaków nie mogę tego naprawić. Czy ktoś może rzucić okiem? Prawidłowy adres URL to i.stack.imgur.com/yMMX3.jpg (uwaga: nie yMMX3m.jpg, co jest miniaturą)
jmiserez
2
@jmiserez - Zrobiłem małą miniaturę w link do wersji w pełnym rozmiarze, ponieważ ten obraz jest raczej duży, aby wyświetlić go bezpośrednio w odpowiedzi IMO.
Compro01,
17

Telefony z Androidem mają co najmniej 2 palce w puli, których nie mają iPhone'y: producent sprzętu i operator sieci. Producenci sprzętu często biorą pod uwagę tajemnice handlowe swoich sterowników, dlatego muszą nauczyć się kodu nowych wersji, a następnie dostosować sterowniki. Producenci często dostarczają również niestandardowe „skórki”, które należy zaktualizować do nowej wersji, a czasem całkowicie przeprojektować. Wszelkie zmiany muszą następnie zostać zatwierdzone przez przewoźników. Często dodają własne funkcje, które należy zaktualizować / przeprojektować i przetestować. Następnie muszą przeprowadzić testy sieci dla każdego telefonu, aby upewnić się, że nie spowoduje awarii sieci. Chociaż testy te muszą być kontynuowane także dla iPhone'ów, prawdopodobnie są one wykonywane przed wydaniem nowej wersji, ponieważ Apple może produkować wszystkie telefony z nową wersją do testowania, zanim kod zostanie wydany nawet deweloperom.

LeBeau
źródło
10

To jest 2-częściowe pytanie. Część 1 pyta, dlaczego telefony z Androidem nie otrzymują od razu najnowszej aktualizacji, i odpowiedziały odpowiednio na inne odpowiedzi. Część 2 dotyczy pytania, dlaczego starsze telefony często nie otrzymują najnowszej aktualizacji i na które jeszcze nie ma odpowiedzi.

Jak mówi LeBeau, oprócz Google są też inni interesariusze korporacyjni. Google tworzy tylko nowe wersje, a oprócz telefonów, które bezpośrednio tworzy, takich jak linia Nexus, niewiele mówi się o tym, czy i kiedy inni umieszczą je w telefonach. Również, jak mówi LeBeau, wszyscy inni interesariusze muszą nauczyć się nowej wersji, zanim będą mogli ją wdrożyć. Właśnie dlatego telefony otrzymują nowe wersje później i dlatego niektóre telefony, takie jak Nexuses, otrzymują te wersje przed innymi, ponieważ Google już się nauczył nowej wersji.

Jeśli chodzi o część 2, producenci sprzętu chcą, abyśmy co kilka miesięcy kupowali nowe telefony, prawda? W przeciwnym razie, jak utrzymają to całe ciasto, jeśli będziemy nadal używać naszych starych telefonów? Byliby w tej samej pozycji, w jakiej znajdują się firmy komputerowe: z pamięcią i pamięcią RAM wystarczającą na dowolny cel, po co kupować nowy sprzęt? Odpowiedzią jest, aby przestać aktualizować stare telefony, więc jeśli chcemy najnowszych funkcji, musimy zdobyć nowy. Google prawdopodobnie nie robi tego tak często, ponieważ już sprzedaje ci Androida, więc dlaczego musi sprzedawać ci telefony, ale prawdopodobnie robi to trochę. Z kolei przewoźnicy sieciowi prawdopodobnie pomagają w przestrzeganiu drakońskich zasad, takich jak zapobieganie rootowaniu (w przeciwnym razie unieważnisz gwarancję). Właśnie dlatego, jak mówisz, „ a July 2010 android is basically a paperweight”.

Jeśli chodzi o komentarz na temat ulepszeń będących „głównie obszarem użytkownika”, nie wiem, jak to wszystko działa, ale jestem pewien, że to nie jest takie proste. Aktualizacje mogą być w oprogramowaniu, ale nie wszystkie programy mówią do użytkownika. Ponadto producenci sprzętu umieszczają „skórki” na naszych telefonach, więc nie widzimy wewnętrznych mechanizmów działania i jest prawdopodobne, że kiedy w końcu uaktualnią się do najnowszej wersji, dodają do siebie kilka nowych rzeczy, tak że telefon HTC One Android 4.2 różni się od telefonu Samsung Galaxy SIV z Androidem 4.2. Prawdopodobnie HTC lub Samsung wypuszczają nowe funkcje w wersji 4.3 i nawet nie zauważasz, że to zrobili. Następnie, powiedzmy, że HTC One nie uaktualnia się do wersji 4.3, ale HTC Two robi (ja to zmyślam), jesteś zmuszony zdobyć HTC Two, aby uzyskać (niektóre) nowe funkcje 4.3, a także niektóre funkcje 4.2, których nie otrzymałeś w HTC One. Nie jestem pewien, czy tak się dzieje, ale jest to normalna procedura biznesowa, więc nie byłbym zaskoczony.

trysis
źródło
4

Myślę, że istnieje wiele powodów, dla których aktualizacje są tak wolne dla urządzeń z Androidem:

  1. Czas, jaki zajmuje producentowi zastosowanie ich dostosowań do nowej wersji i upewnienie się, że wszystko działa poprawnie, może być dość długi. Poprawiło się to w ciągu ostatniego roku, ponieważ Google daje im pakiet Android PDK lub zestaw programistyczny platformy, który powinien umożliwić im pracę nad dostosowaniami kilka miesięcy przed opinią publiczną, a nawet usłyszeć o kolejnej wersji Androida.

  2. Czas potrzebny sieci do przetestowania aktualizacji i zastosowania ich dostosowań.

  3. Producenci mają niewielką motywację do zastosowania aktualizacji (szczególnie na urządzeniach powyżej 1 roku życia), gdy próbują sprzedawać swoje najnowsze urządzenia klientom.

  4. Większość klientów nie wie ani nie obchodzi, jaką wersję Androida ma na swoim urządzeniu, więc dlaczego producent poświęciłby czas i pieniądze na aktualizację urządzenia do najnowszej wersji.

Możesz również spojrzeć na ten artykuł, który zawiera nieco więcej szczegółów, w tym dlaczego Apple jest w stanie wydawać aktualizacje „o wiele szybciej” (głównie dlatego, że kontrolują zarówno sprzęt, jak i oprogramowanie).

bmdixon
źródło
3

Oprócz niewiarygodnie długiej infografiki HTC w odpowiedzi Mpeti pojawili się inni producenci i powiedzieli, dlaczego ich aktualizacje pozostają w tyle za oficjalnymi wydaniami Google i dlaczego nie udostępniają aktualizacji dla starszych modeli:

Sony Mobile : Ice Cream Sandwich - od wydania kodu źródłowego po aktualizację oprogramowania , wybrane fragmenty i nagłówki poniżej:

Jednak zanim będziemy mogli wdrożyć te aktualizacje oprogramowania, jest wiele działań, aby przede wszystkim uruchomić Ice Cream Sandwich i ustabilizować się na wszystkich telefonach Sony Ericsson. Nazywamy to fazą wychowania.
Po drugie, a być może najważniejsze, musimy certyfikować i zatwierdzać nowe wydanie oprogramowania ze wszystkimi różnymi technologiami, sieciami i sprzętem, z którymi powinien współpracować nowoczesny smartfon. Nazywamy to fazą certyfikacji i zatwierdzania.

  • Faza wstępna: Przygotowanie Ice Cream Sandwich do pracy na naszych telefonach
  • Integrowanie łat na Androida
  • Usprawnienie oprogramowania i dodanie lokalizacji
  • Faza certyfikacji i zatwierdzenia: upewnienie się, że oprogramowanie i sprzęt są zgodne
  • Konieczne mogą być dodatkowe zatwierdzenia
  • Wielu operatorów chce również dostosować oprogramowanie do swoich wymagań

Po wykonaniu wszystkich tych czynności jesteśmy gotowi do wprowadzenia wariantów wersji oprogramowania jako aktualizacji oprogramowania dla operatorów i konsumentów na całym świecie.

Motorola miała kiedyś na tym blogu dobry wpis, ale wygląda na to, że usunęła wszystkie swoje starsze treści w ciągu ostatnich kilku miesięcy. Jednak maszyna Wayback ma zarchiwizowaną kopię: Archive.org: Motorola Update on Ice Cream Sandwich , zaznaczony tekst i nagłówki poniżej:

Po zwolnieniu kodu źródłowego od Google nie jest on automatycznie aktualizowany na twoim urządzeniu.

Każda nowa wersja Androida uruchamia się z jednym partnerem urządzenia, w tak zwanym „Google Experience Device” lub GED, urządzeniu prezentującym nową wersję Androida. Partner GED dla każdego uruchomienia współpracuje z Google podczas opracowywania systemu operacyjnego, dzięki czemu urządzenie i nowa wersja Androida są gotowe do skoordynowanego jednoczesnego uruchomienia.

Gdy to urządzenie GED zostanie wysłane, reszta społeczności Androida zyskuje dostęp do kodu źródłowego Androida, który został opublikowany wkrótce potem - kluczowy kamień milowy dla producentów urządzeń i dostawców komponentów, umożliwiając nam rozpoczęcie pracy nad integracją nowej wersji z naszymi istniejącymi produktami .

  • Scal i dostosuj nową wersję do różnych architektur sprzętu i dostosowań operatora
  • Ustabilizuj i „upiecz” wynik, aby wyeliminować błędy
  • Prześlij aktualizację przewoźnikom do certyfikacji
  • Wykonaj wstępne wydanie klienta
  • Zwolnij aktualizację

Planujemy uaktualnić jak najwięcej naszych telefonów. Możliwość zaoferowania uaktualnienia zależy od wielu czynników, w tym od możliwości sprzętu / urządzenia, podstawowej obsługi oprogramowania mikroukładu, wsparcia ICS, a następnie zdolności do obsługi oprogramowania wartości dodanej firmy Motorola.

Ponadto PC Mag, dlaczego uaktualnienie telefonów do „Ice Cream Sandwich” potrwa tak długo

GAThrawn
źródło
2

Gdy Google wydaje nową wersję Androida, kompilacja jest następnie przetwarzana przez producenta. Zajmuje im to kilka miesięcy, aby upewnić się, że aktualizacja może skorzystać z funkcji telefonu i zainstalować odpowiednie dodatkowe funkcje.

Proces ten jest następnie powtarzany dla nośnika, co ponownie zajmuje kilka miesięcy.

Yos233
źródło
Hmm .. Myślę, że taka jest rzeczywistość sytuacji, ale jeśli ulepszenia dotyczą głównie „obszaru użytkownika”, to utrzymują sprzętowy ABI w głównych wersjach, gdyby proces ten nie był bardziej usprawniony. W tym tempie blogi itp. Powinniśmy naprawdę porównać iOS 7.1 z Androidem 6.2
Mâtt Frëëman