ho intenzione di provare a riformulare e genericize queste due domande:completa del sistema operativo Android a costruire per un determinato target hardware
https://stackoverflow.com/questions/2483631/custom-android-build-how-to
e aggiungere le mie due centesimi.
Alcuni di noi hanno bisogno di costruire Android - il sistema operativo/stack completo - ed eseguire tale build su hardware reale e commerciale. Chiaramente questo è possibile poiché i vari venditori di cellulari lo fanno da soli.
Tuttavia, le istruzioni fornite da Google (http://source.android.com/source/initializing.html) solo prendere finora prima di rendersi conto che, se non si sta usando uno dei pochissimi piattaforme hardware citate (inutilmente sul molto, molto ultima pagina http://source.android.com/source/building.html), sei SOL. Secondo Google:
"[T] il progetto Android Open-Source non può essere utilizzato solo dal codice sorgente puro e richiede l'utilizzo di librerie proprietarie hardware aggiuntive per l'esecuzione, in particolare per l'accelerazione grafica hardware"
Ok, va bene (sorta). Ma Google descrive come funziona quel processo. La prima domanda è una guida sulla costruzione di Android per l'esecuzione reale. (In effetti, come è possibile che un fornitore non-portatile contribuisca al sistema operativo Android senza che sia in grado di creare il sistema operativo ed eseguirlo su hardware?) In particolare, è necessario estrarre in qualche modo le librerie proprietarie il binario commerciale e incorporato nella build "personalizzata"?
Ora, GPL richiede mod al kernel - che potrebbe includere driver - per essere reso disponibile al pubblico e alcuni fornitori (HTC, Acer) rendono prontamente disponibile la fonte del kernel. Ma non è del tutto chiaro se questo codice è sufficiente per eseguire una build "personalizzata" eseguibile. Inoltre, anche se quel codice è sufficiente, l'albero dei sorgenti dal fornitore non allineerà a tutti con l'albero dei sorgenti di Google. Quindi non è ovvio come unire i file forniti dal produttore del dispositivo con i file di Google per fare una build. Quindi la seconda (terza?) Domanda è come unire il codice fornitore con il codice Google per creare un albero dei sorgenti che sia costruibile (e quindi costruito) e eseguibile su una piattaforma hardware arbitraria?
Chiunque? Chiunque?