C'è un motivo tecnico per cui la storia degli aggiornamenti di Android è così negativa?


16

C'è un motivo tecnico per cui i telefoni Android sono molto indietro rispetto alla versione stabile di Android?

Questo vale per entrambi i nuovi telefoni, ad esempio un recente viaggio nell'officina telefonica era tutto compreso tra 4.0 e 4.2.1, KitKat non è stato visto. E anche vecchi telefoni, l'iPhone 4 della mia ragazza aveva un aggiornamento OTA all'ultimo SO, questo è un telefono di luglio 2010, mentre un Android di luglio 2010 è fondamentalmente un fermacarte.

Presumibilmente Android stesso non si occupa dell'hardware reale e quindi parla al sistema operativo tramite astrazioni? Suppongo quindi che il produttore del portatile fornisca solo i driver per l'hardware specifico, quindi non riesco a vedere il problema con la spinta degli aggiornamenti OTA se l'ABI rimane stabile (il mio telefono non sviluppa nuove funzionalità hardware).



I driver hardware sono interni al kernel e l'ABI non è stabile internamente . Non esiste una corrispondenza rigorosa tra la versione di Android e la versione del kernel; i produttori possono o meno includere gli aggiornamenti del kernel con gli aggiornamenti delle aree utente. In tal caso, non esiste compatibilità binaria con i driver esistenti. La maggior parte dell'onere per il produttore avrà comunque a che fare con l'adattamento al nuovo spazio utenti, non vedo come la natura dell'ABI sia particolarmente significativa qui.
Riccioli d'oro,

Il tuo ultimo paragrafo mi suggerisce che hai un'idea sbagliata di quanto Android fa dietro le quinte. Le astrazioni e le interfacce devono continuare a cambiare per supportare nuove funzionalità hardware, oltre a migliori rappresentazioni software. Forse potresti fare una domanda di follow-up al riguardo.
Dan Hulme,

Tranne il fatto che l'iPhone che è stato aggiornato ora funziona come un cane e ti costringe ad aggiornare l'hardware comunque mentre il telefono Android funziona come mai e semplicemente non include nuove funzionalità.
James Ryan,

Risposte:


18

Vedi questa immagine rilasciata da HTC. Descrive il processo di aggiornamento in una forma molto dettagliata:

Anatomia di un aggiornamento del sistema operativo Android

Immagine ridimensionata (fare clic per vedere a schermo intero)


La modifica di t0mm13b ha interrotto l'URL (la versione user11153 era corretta). A causa della lunghezza minima di modifica di 6 caratteri non riesco a risolverlo. Qualcuno può dare un'occhiata? L'URL corretto è i.stack.imgur.com/yMMX3.jpg (nota: non yMMX3m.jpg, che è l'anteprima)
jmiserez

2
@jmiserez - Ho creato la piccola miniatura in un collegamento alla versione a dimensione intera, poiché l'immagine è piuttosto grande da visualizzare direttamente nella risposta IMO.
Compro01

17

I telefoni Android hanno almeno 2 dita nel piatto che gli iPhone non hanno: il produttore di hardware e il gestore di rete. I produttori di hardware spesso considerano i loro segreti commerciali dei loro driver e quindi devono imparare il codice delle nuove versioni e quindi adattare i loro driver. I produttori spesso forniscono anche "skin" personalizzate che devono essere aggiornate per la nuova versione e talvolta completamente riprogettate. Eventuali modifiche devono quindi essere approvate dai corrieri. Spesso aggiungono le proprie funzionalità, che devono essere aggiornate / riprogettate e testate. Quindi devono eseguire test di rete per ciascun telefono per assicurarsi che non si blocchi la rete. Sebbene questi test debbano continuare anche per iPhone, probabilmente vengono eseguiti prima del rilascio della nuova versione, poiché Apple può produrre tutti i telefoni che eseguono la nuova versione in una sola volta per il test, prima che il codice venga rilasciato anche agli sviluppatori.


10

Questa è una domanda in 2 parti. La parte 1 chiede perché i telefoni Android non ottengano subito l'ultimo aggiornamento ed è stato risposto adeguatamente dalle altre risposte. La parte 2 chiede perché i telefoni più vecchi spesso non ricevono mai l'ultimo aggiornamento e non hanno ancora ricevuto risposta.

Come dice LeBeau, ci sono altri stakeholder aziendali oltre a Google. Google crea solo le nuove versioni e, oltre ai telefoni che crea direttamente, come la linea Nexus, non ha molto da dire se e quando gli altri le inseriscono nei telefoni. Inoltre, come afferma LeBeau, tutte queste altre parti interessate devono imparare la nuova versione prima di poterla implementare. Questo è il motivo per cui i telefoni ottengono nuove versioni in seguito e perché alcuni telefoni, come i Nexus, ottengono le versioni prima di chiunque altro, perché Google ha già appreso la nuova versione.

Per quanto riguarda la parte 2, i produttori di hardware vogliono che continuiamo a comprare nuovi telefoni ogni due mesi, giusto? Altrimenti, come continueranno a far rotolare tutto quell'impasto se continuiamo a usare i nostri vecchi telefoni? Sarebbero nella stessa posizione in cui si trovano le aziende di computer: con spazio di archiviazione e RAM sufficienti per qualsiasi scopo, perché acquistare un nuovo hardware? La risposta è interrompere l'aggiornamento dei vecchi telefoni, quindi se vogliamo le funzionalità più recenti, dobbiamo ottenerne uno nuovo. Google probabilmente non lo fa tanto, poiché ti sta già vendendo Android, quindi perché ha bisogno di vendere i tuoi telefoni, ma probabilmente lo fa un po '. I gestori di rete, da parte loro, probabilmente aiutano con le loro regole draconiane come prevenire il rooting (oppure annulli la garanzia). Ecco perché, come dici tu, " a July 2010 android is basically a paperweight".

Per quanto riguarda il tuo commento sui miglioramenti "principalmente userland", non so come tutto funzioni, ma sono sicuro che non sia così semplice. Gli aggiornamenti potrebbero essere nel software, ma non tutto il software parla all'utente. Inoltre, i produttori di hardware mettono "skin" sui nostri telefoni, quindi non vediamo i meccanismi interni, ed è probabile che quando finalmente si aggiornano alla versione più recente, inseriscano alcune nuove cose in modo che un telefono HTC One su Android 4.2 è diverso da un telefono Samsung Galaxy SIV su Android 4.2. Probabilmente HTC o Samsung lancia alcune nuove funzionalità da inserire in 4.3, e non ti accorgi nemmeno che l'hanno fatto. Quindi, quando diciamo che l'HTC One non si aggiorna alla 4.3, ma l'HTC Two lo fa (lo sto inventando), sei costretto a ottenere l'HTC Two per ottenere (alcune delle) nuove funzionalità della 4.3, così come alcune funzionalità della 4.2 non disponibili con HTC One. Non sono sicuro che ciò accada, ma è una normale procedura commerciale, quindi non sarei sorpreso.


4

Penso che ci siano una serie di motivi per cui gli aggiornamenti sono così lenti per i dispositivi Android:

  1. Il tempo impiegato da un produttore per applicare le proprie personalizzazioni alla nuova versione e assicurarsi che tutto funzioni correttamente può essere piuttosto lungo. Questo è migliorato nell'ultimo anno o giù di lì, dato che Google offre loro un PDK per Android , o il Platform Development Kit, che dovrebbe consentire loro di lavorare sulle loro personalizzazioni con diversi mesi di anticipo rispetto al pubblico, anche ascoltando la prossima versione di Android.

  2. Il tempo impiegato dalle reti per testare l'aggiornamento e applicare le loro personalizzazioni.

  3. C'è poco incentivo per i produttori ad applicare l'aggiornamento (specialmente su dispositivi di età superiore a 1 anno) mentre stanno cercando di vendere i loro dispositivi più recenti ai clienti.

  4. La maggior parte dei clienti non sa o si preoccupa della versione di Android sul proprio dispositivo, quindi perché il produttore dovrebbe spendere tempo e denaro per aggiornare il dispositivo all'ultima versione.

Puoi anche guardare questo articolo che approfondisce un po 'di più, incluso il motivo per cui Apple è in grado di rilasciare gli aggiornamenti "molto più rapidamente" (essenzialmente perché controllano sia l'hardware che il software).


3

Oltre all'incredibilmente lunga infografica di HTC nella risposta di Mpeti , altri produttori sono usciti e hanno detto perché i loro aggiornamenti sono in ritardo rispetto alle versioni ufficiali di Google e perché non rilasciano aggiornamenti per i modelli più vecchi:

Sony Mobile : Ice Cream Sandwich - dalla versione del codice sorgente all'aggiornamento del software , estratti e intestazioni selezionati di seguito:

Tuttavia, prima di poter implementare questi aggiornamenti software, ci sono molte attività per prima cosa far funzionare Ice Cream Sandwich e renderlo stabile su tutti i telefoni Sony Ericsson. Questa è la fase di allevamento.
In secondo luogo, e forse il più importante, dobbiamo certificare e approvare la nuova versione del software con tutte le diverse tecnologie, reti e hardware con cui dovrebbe funzionare uno smartphone moderno. Questa è la fase di certificazione e approvazione.

  • La fase di avvio: far funzionare Ice Cream Sandwich sui nostri telefoni
  • Integrazione di patch Android
  • Rendere stabile il software e aggiungere la localizzazione
  • La fase di certificazione e approvazione: assicurarsi che il software e l'hardware siano conformi
  • Potrebbero essere necessarie ulteriori approvazioni
  • Molti operatori desiderano inoltre personalizzare il software in base alle proprie esigenze

Al termine, siamo pronti a implementare le varianti di rilascio del software come aggiornamenti del software per operatori e consumatori di tutto il mondo.

Motorola aveva un buon post sul blog, ma negli ultimi mesi sembra aver eliminato tutto il suo vecchio blog. Tuttavia, la macchina Wayback ne ha una copia archiviata: Archive.org: aggiornamento Motorola su Ice Cream Sandwich , testo e intestazioni selezionati di seguito:

Una volta rilasciato da Google, il codice sorgente non si aggiorna automaticamente al tuo dispositivo.

Ogni nuova versione di Android viene lanciata con un partner del dispositivo, in quello che viene chiamato "Google Experience Device" o GED, il dispositivo vetrina per una nuova versione di Android. Il partner GED per ogni lancio lavora con Google durante lo sviluppo del sistema operativo in modo che il dispositivo e la nuova versione di Android siano pronti per un lancio simultaneo coordinato.

Una volta che il dispositivo GED viene spedito, il resto della comunità Android ottiene l'accesso al codice sorgente Android appena reso pubblico poco dopo, una pietra miliare fondamentale per i produttori di dispositivi e fornitori di componenti, che ci consente di iniziare a lavorare sull'integrazione della nuova versione nei nostri prodotti esistenti .

  • Unisci e adatta la nuova versione per diverse architetture hardware dei dispositivi e personalizzazioni del gestore telefonico
  • Stabilizzare e 'cuocere' il risultato per scovare i bug
  • Invia l'aggiornamento ai corrieri per la certificazione
  • Eseguire una pre-release del cliente
  • Rilascia l'aggiornamento

Stiamo programmando di aggiornare il maggior numero possibile di telefoni. La capacità di offrire l'aggiornamento dipende da una serie di fattori, tra cui le capacità hardware / dispositivo, il supporto software chipset sottostante, il supporto ICS e quindi la capacità di supportare il software a valore aggiunto Motorola.

Inoltre, PC Mag Perché ci vorrà così tanto tempo per aggiornare i telefoni a "Ice Cream Sandwich"


2

Quando Google rilascia una nuova versione di Android, la build viene quindi elaborata dal produttore. Ciò richiede diversi mesi per garantire che l'aggiornamento possa sfruttare le funzionalità del telefono e quindi installare tutte le funzionalità aggiuntive che desiderano.

Il processo viene quindi ripetuto per il corriere, che richiede ancora diversi mesi.


Hmm .. Immagino sia la realtà della situazione, ma se i miglioramenti sono principalmente "land-land", allora mantengono l'ABI hardware sulle versioni principali se questo processo non dovesse essere più snello. A questo ritmo, blog ecc. Dovremmo davvero confrontare iOS 7.1 con Android 6.2
Mâtt Frëëman
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.