2012-01-03 11 views
7

ho intenzione di provare a riformulare e genericize queste due domande:completa del sistema operativo Android a costruire per un determinato target hardware

Custom Android OS Build

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?

risposta

2

La breve risposta a questa domanda è che Google supporta la piattaforma open-source Android (AOSP) su un numero molto limitato di piattaforme hardware. Ciò significa che uno non può aspettarsi di costruire la sorgente AOSP non modificata direttamente da Google ed eseguirla su una piattaforma hardware arbitraria. Periodo.

L'hardware ufficialmente supportato è data qui: http://source.android.com/source/building-devices.html Al momento della scrittura, ci sono solo due dispositivi 3GPP supportati (ufficialmente) e non dispositivi Qualcomm alimentati supportati. IMHO, questo tipo di presa in giro rende la beffa di Google "coinvolta" qui: http://source.android.com/

Problemi correlati