L'ho fatto con l'avvio di ICS. Devi anche fare un bel numero di modifiche al codice per farlo compilare come una normale app perché utilizza molte API interne private (nonostante ciò che Google potrebbe aver implicato). È inoltre necessario modificare il nome del pacchetto. Esistono due limitazioni:
C'è un filtro chiamato TableMaskFilter che non è disponibile per le normali app. Penso che questo consenta al cassetto delle app di essere semi-trasparente, ma ho rimosso gli usi e sembra a posto.
Più in particolare, sembra che non vi sia alcun modo di replicare l'esperienza di aggiunta di widget poiché richiede un'autorizzazione che solo le app di sistema possono avere. See this question.
In ogni caso, ho messo la mia fonte here. Compila e funziona sul Galaxy S2 4.0.3 ufficiale, ma se provi ad aggiungere widget, si bloccherà.
Nota: quando si modifica il nome del pacchetto, ci sono dei posti che il refactor di Eclipse non nota (ad esempio layout XML). Ti consiglio di effettuare una ricerca/sostituzione di testo globale.
Come hai compilato il launcher come applicazione esterna? – arts777
Modificato il codice. Leggi la mia risposta. – Timmmm
@Timmmm Un grande sforzo ... Grazie per aver condiviso. –