[MAXI-GUIDA] Come iniziare a compilare e buildare Android
DISCLAIMER: io non sono un developer, sto imparando in questi mesi questo complessissimo ed estremamente vasto mondo che abbraccia diverse branche della tecnologia e dell'informatica. Ho, però, deciso di condividere con voi quello che ho imparato in questi mesi di apprendimento, integrando con gli appunti che ho da parte.
Spero ne possiate fare un buon uso e soprattutto, spero che riusciate nella titanica avventura di diventare degli aspiranti developers!
Articolazione della guida
Mi riservo questo OP per iniziarvi al modo di pensare di un aspirante developer, per poi andare sviscerando i vari argomenti nei post successivi.
Alcuni tips generici
1. Il mondo del development è vasto e complesso, i fallimenti sono sempre dietro l'angolo ed imprecherete alla vostra macchina molto molto spesso per una compilazione andata a male. Non perdetevi d'animo, è normale ed anzi, io personalmente mi stranizzerei se la compilazione andasse bene al primo tentativo.
2. Il vostro sistema verrà messo a dura prova, la compilazione può durare 20 minuti, come può durare 6 ore e tutto dipende dal vostro hardware. CPU più potenti, SSD al posto di HDD, più RAM libera sicuramente velocizzeranno il processo di building. Overcloccare la CPU migliora la velocità, ma dotatevi di un sistema di cooling in quel caso.
3. Il download dei sorgenti è parecchio impegnativo, ma non per voi, ma per il vostro provider della linea. In media i sorgenti di una singola ROM pesano dai 9 ai 16GB (avete letto bene) e, nonostante sulle guide online troverete scritto che ci vogliono 4 ore, io, con la mia 8Mb/s offerta da Alice, ci metto dalle 8 ore ai 2 giorni. Un device tree va da 1GB a 1.5GB, i sorgenti di un kernel più meno simile, quindi mettetevi l'anima in pace ed aspettate e nel frattempo leggete leggete leggete.
Dove andremo a lavorare
Dato che questa vuole essere una maxi guida per tutti quanti per iniziarvi al building, partirò da molto lontano, ossia dalla preparazione del pc, vostro fedele alleato.
Android è basato su Linux e su Linux dovrete compilare, quindi mettetevi il cuore in pace e lasciate da parte Windows, prendete confidenza con il padre di Android!
Alcuni tips anche qui:
1. Ci sono un'infinità di distribuzioni (flavour, varianti), Ubuntu, Debian, Arch, Red Hat, SuSe, Fedora, Gentoo e chi più ne ha, più ne metta (credo che siamo sulle 3000 distro), ma il mio consiglio personale è di usarne una semplice (se siete dei principanti) e soprattutto leggera, visto che le preziose risorse del vostro PC serviranno per la compilazione e non per reggere inutili artefatti grafici. Non vi dico di compilare con Debian server stable senza interfaccia grafica (che sarebbe l'ideale), ma almeno adoperate un DE leggero, XFCE, LXDE o Openbox. Ovviamente l'architettura deve essere per forza di cose a 64bit, io adopero Linux Mint 16 XFCE, ve lo consiglio ardentemente, specialmente se siete nuovi del mondo Linux.
2. Usate Google. No davvero, usatelo! Incontrerete tantissime difficoltà specialmente se provenite da Windows, tutto è diverso, più semplice, ma diverso e quindi inizialmente complesso. Ma non preoccupatevi, per qualsiasi domanda che vi verrà in mente, ci sono almeno 15 risposte su altrettanti siti differenti per ogni lingua conosciuta. Googlate! E se proprio non riuscite a trovare, chiedete qui (se correlato al settaggio dell'ambiente di sviluppo) o nella sezione GNU/Linux se strettamente correlato al mondo Linux.
3. Prendete confidenza col terminale! È lo strumento più potente di Linux ed è quello che rende Linux grande! Sarebbe il corrispettivo del prompt dei comandi di Windows, ma con diverse chicche in più. Imparate quanti più comandi possibile, googlateli, scopritelo, mettetelo alla prova.
Editor di testo
Gedit (o qualunque voi preferite) è un vostro fedele alleato: vi servirà per modificare i vari makefile, gli xml e i diversi script durante il processo di compilazione e modifica. Scoprirete le diverse configurazioni di colori per indicare diversi tag.
Articolazione della guida
Prepariamoci!