L’aggiornamento ufficiale OTA non è ancora arrivato (proprio ieri è stato annunciato e dovrebbe arrivare a breve) mentre i sorgenti di eclair sono disponibili da tempo. Questo sta creando qualche problema ai developers della comunità anche se sembra che l’unica cosa non funzionante per ora sia la fotocamera.
Nel frattempo volevo comunque aggiornare la guida per compilare Android, con eclair la questione firmware proprietari viene risolta da un semplice script bash già presente al momento del download dei sorgenti.
La guida rimane praticamente identica, scriverò qua solo le motifiche da fare paragrafo per paragrafo oltre ad inserire un avviso nella guida vecchia. Spero venga fuori qualcosa di comprensibile 🙂 .
Preparare il sistema
Invariato, ancora java 1.5
Scaricare i sorgenti
Ovviamente il comando finale sarà:
./repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair
con eclair al posto di cupcake.
Kernel
Invariato
Download
Invariato
File proprietari
Come ho già detto ora abbiamo uno script che prende i file necessari! Diversamente dal passato per noi possessori di magic in vendor/htc c’è proprio una directory chiamata sapphire-open dove troviamo lo script. Lo script va a cercarsi il file zip dell’ultimo aggiornamento OTA (donut) che possiamo scaricare da qui (Android 1.6 recovery image) e che andremo a piazzare nella root dei sorgenti di android. Dopo questo possiamo avviarlo
cd ~/androidsource/vendor/htc/sapphire-open/
./unzip-files.sh
Compiliamo
Kernel
Invariato
Wifi
Invariato
Audio Files
Invariato
HTC Build Script
Problema! Attualmente non sono ancora riuscito a far andare le google apps su eclair per problemi di permessi/odex, se qualcuno ha qualche consiglio è il benvenuto!
Sistema
In buildspec.mk inseriremo solo:
TARGET_PREBUILT_KERNEL:=kernel/arch/arm/boot/zImage
Le impostazioni come il Target Product e altro le scegliamo attraversi altri script che ci vengono messi a disposizione con i sorgenti, quindi diamo:
cd ~/androidsource
. build/envsetup.sh
lunch aosp_sapphire_eu-eng
Finito siamo pronti per dare il make!
make
Nota: quando arriverà a compilare webkit attualmente da errore, questa patch risolve:
cd external/webkit
git cherry-pick 18342a41ab72e2c21931afaaab6f1b9bdbedb9f
Enjoy!
Ciao,
se uno volesse compilare solo un package, come bisogna fare?
intendo ricompilare Email.apk con una patch, ma anche importando il solo package in Eclipse, sembrano mancare un bel pò di cose
grazie 🙂
con precisione non so 🙂
ma molto probabilmente conviene lavorare di local_manifest
ci metti solo il package che ti interessa, qualcosa tipo
project path=”packages/apps/Email” name=”android_packages_apps_Email” revision=”eclair”
o simile
poi importi i sorgenti in eclipse