Bijour à tous …
Après quelques semaines sans article, il me fallait du lourd pour affirmer ma virilité mon côté geek … j’ai donc décidé d’écrire un petit truc sur android parce que j’ai rien d’autre à foutre et que je voulais voir tourner mes proc à plein régime …

Pour ce faire il vous faudra :
- de la patience
- de la patience
- de la patience
- de la patience
- un ordi (facultatif si vous pouvez compiler de tête … pour ma part j’y arrive pas encore :s)
- 4Go de ram + un bon CPU
- linux
Il vous faudra aussi installer une machine java très ancienne (1.5) à télécharger ici. Installez-là en mode utilisateur simple dans un dossier dédié à la compilation d’android, chez moi : ~/Android/.
Ensuite, le super script, les quelques variables au début du fichier sont à modifier, le reste est automatisé.
Ce que fait le script :
- Téléchargement du fichier repo
- Récupération/Mise à jour du dépot d’android (très lourd, il faut 1 heures pour dl 2Giga de données)
- Compilation des sources d’android (tout les binaires, … c’est très long)
- et c’est tout!!
Faudra quand même attendre 3 ou 4 heures lors de la première compilation/récupération des fichiers…
-
#!/bin/bash
-
JDK15=/home/$USER/Documents/Android/jdk1.5.0_21/bin
-
BINDIR=/home/$USER/Documents/Android
-
MYDROID=/home/$USER/Documents/Android/mydroid
-
TYPE_MACHINE=`uname -m`
-
PATH=$JDK15:$PATH
-
#Need 1.5 https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-1.5.0_21-oth-JPR@CDS-CDS_Developer
-
##############DON'T TOUCH BELOW… OR SUFFER HUNDREDS PAINS … MUUAAHAHAHAHAHAHAHAHAAHAHHAAAA
-
echo "Lancement de SIACAKDLM"
-
echo "Système d'install automatisé de compilation d'android pour kikoolol dépressif en 1337n355 mode"
-
echo "Temps requis pour arriver à la fin de ce script après execution : 2h00"
-
echo "Installation des fichiers requis …"
-
sudo apt-get -yqq install git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev ncurses-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind
-
if [ $TYPE_MACHINE == "x86_64" ]
-
then
-
echo "Zetes en 64bits … on en rajoute une couche
" -
sudo apt-get -yqq install ia32-libs lib32z1-dev lib32ncurses5-dev gcc-multilib g++-multilib lib32readline5-dev
-
fi
-
if [ ! -f $BINDIR/repo ]
-
then
-
echo "Récupération du fichier repo"
-
wget -qO $BINDIR/repo http://android.git.kernel.org/repo && chmod +x $BINDIR/repo
-
fi
-
if [ ! -d $MYDROID ]
-
then
-
echo "Création du dossier $MYDROID"
-
mkdir $MYDROID
-
fi
-
cd $MYDROID
-
if [ ! -d $MYDROID/prebuilt/ ]
-
then
-
$BINDIR/repo init -u git://android.git.kernel.org/platform/manifest.git
-
fi
-
echo "Mise à jour du dépôt … ça prend du temps … beaucoup de temps :s"
-
$BINDIR/repo sync
-
export CCOMPILER=$MYDROID/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
-
-
cd $MYDROID && source build/envsetup.sh && sed -n -e "s/^add_lunch_combo//gp" vendor/*/vendorsetup.sh && lunch generic-eng && make -j4
Les fichiers de sorties de trouvent dans : $MYDROID/out/target/product/generic (les .img contiennent l’os , les logiciels et tout le bazard qu’embarque android).
Voilà, laisser mouliner, puis tester-le en machine virtuelle avant l’install sur votre phone (en n’oubliant pas bien sûr de faire une sauvegarde
).
Pour tester votre système android fraichement compilé, il vous suffit d’utiliser AVD (fournit avec le SDK de dev de google), d’aller dans le dossier .android/avd/le nom d’une machine générée/, et d’y mettre votre image système (et vos autres img si ça vous chante).
Ce qui m’a donné la version éclair pour mon émulateur :

Quelques liens sympa (dont je me suis grandement inspirés, que j’ai plagiés) :
- [EN]Explicatif sur le fonctionnement d’android
- Article plus poussé en français d’unixgarden
- L’astuce pour tester son system.img
- le tuto de compilation de cyanogen + packaging pour aller plus
hautloin
La compilation et l’installation d’un cyanogenmod sera pour plus tard

On trouve facilement comment compiler Android mais par contre pour installer ce qu’on a compiler c’est une autre histoire.
Serais-tu me dire comment faire pour installer ses img (ramdisk.img, system.img et userdata.img) sur une tablette/téléphone Android ?
en fait, ça dépend du téléphone et de ses périphériques, généralement faut passer via adb par la commande flash (system, recovery , …), ça reste risqué.
Sinon, si tu te base sur cyanogen, ils ont un script pour générer les .zip qu’on peut mettre à la racine de la SD et flasher en passant par le recovery. (Le script a peut-être été porté dans la branche d’android, dnoc dès que t’a les sources tu peux générer le zip).