Sviluppo kernel Android
Il kernel Linux — la base del sistema operativo Linux — è la base dell'architettura informatica di Android. Android usa il kernel per servizi core, inclusi sicurezza, gestione memoria e processi, e per ammorbidire le interazioni tra hardware e software Android. Uno sviluppatore Android può installare il proprio kernel Android sul computer e personalizzarlo per piattaforme o scopi particolari.
Costruzione kernel
Se vuoi costruire il tuo pacchetto kernel per poterci smanettare, scarica e installa Ubuntu — un sistema basato su Linux — sul tuo computer. La maggior parte della documentazione Google per Android è basata su Ubuntu. Poi aggiungi strumenti essenziali per lo sviluppo Android, come Java e Eclipse. Poi scarica da Google gli strumenti di cui hai bisogno per lavorare in Android, come il Software Development Kit (SDK) e i file sorgente Android.
Sviluppo e installazione
Una volta scaricato il tuo software di sviluppo, crea un file di configurazione che adatta il tuo kernel alla piattaforma su cui vuoi posizionare Android. Poi compila il codice, aggiungendo qualsiasi modifica al kernel che desideri fare, e crea l'immagine del kernel. Posiziona l'immagine sul telefono o altro dispositivo su cui vuoi installare Android. Riavvia il dispositivo e, se tutto si accende senza intoppi, hai installato con successo un kernel personalizzato. Dovrai compilare il Wi-Fi per farlo funzionare con il nuovo kernel.
Linux vs Android
Alcuni ingegneri Google considerano Android e Linux come due animali separati. Google ha preso Android Linux in una direzione separata dallo sviluppo mainstream del kernel Linux a causa di preoccupazioni sulla gestione dell'alimentazione sui telefoni Android. Come risultato, lo sviluppo per Android e lo sviluppo per il kernel Linux classico possono essere incompatibili. Sviluppatori Android e Linux hanno discusso modi per portare i due approcci in maggiore armonia, ma a dicembre 2011 non hanno elaborato una strategia soddisfacente.
Wakelock
Alcune app Android potrebbero potenzialmente richiedere così tanta potenza che Android dovrebbe dormire per conservare la batteria. Per permettere al telefono di ricevere chiamate quando è in modalità sleep, Android usa un programma "wakelock" per svegliarlo temporaneamente. Nel 2010, Google ha proposto una patch wakelock per il kernel Linux che lo manterrebbe compatibile con il kernel di Android. Linux ha respinto la patch in risposta a obiezioni degli sviluppatori, come il non offrire benefici agli utenti non-Android.