Compiler Android sous Ubuntu Lucid Lynx (10.04) , pas de java5 packagé

Logo Android

Logo Android

Pour ceux qui veulent se lancer dans la compilation d’Android sous Ubuntu Lucid Lynx, il faut savoir que cela nécessite de réaliser quelques manipulations supplémentaires.

Tous d’abord le lien du projet pour compiler les sources d’Android (très bien écrit) :

Mais pour notre Ubuntu le problème est java5, qui n’est plus dispo dans les dépôts. Si vous tenter de compiler les sources avec le java6 sous une Ubuntu 32bits, vous tomberez sur un bug indiquant que des entêtes de fichiers C 64bits non trouvés. Dans tous les cas, des parties du code java d’Android ne sont pas supportés par java 6.

Donc la première des choses à faire est de récupérer java5 depuis le site d’Oracle :

Installer manuellement le java5

chmod a+x jdk-1_5_0_22-linux-i586.bin
./jdk-1_5_0_22-linux-i586.bin
sudo mv jdk1.5.0_22 /usr/lib/jvm/java-5-sun-1.5.0.22
cd /usr/lib/jvm
sudo ln -s java-5-sun-1.5.0.22 java-5-sun

Je n’ai pas trouvé le moyen d’inclure mon install de java5 avec l’outil « update-java-alternatives » qui permet de switcher d’une jvm à l’autre en toute simplicité. Il est toujours possible de créer un fichier « .java-5-sun.jinfo » mais je manque de temps et il existe peut-être un outil pour le faire, n’hésitez pas à me faire signe. (trouvé : http://doc.ubuntu-fr.org/java)

Avant de lancer le make -j4 du tutoriel de google, faites la manip suivante dans le shell (non persistante) :

export JAVA_HOME=/usr/lib/jvm/java-5-sun
export ANDROID_JAVA_HOME=${JAVA_HOME}
export PATH=${JAVA_HOME}/bin:${PATH}

Tenter votre première compilation d’Android générique :

make -j4

Liens

Samsung SPICA, première Android expérience

Samsung Spica I5700

Photo Samsung Spica I5700 avec son CPU S3C6410 cadencé à 800Mhz

Ça fait maintenant plus d’un mois que je tourne avec le Samsung Spica (I5700) sous Android 2.1 (Eclair). Un android-phone agréable à utiliser. Une prise en main confortable, mais une web expérience assez mitigée. Samsung semble avoir comblé le bide du Galaxy I7500, son premier mobile sous Android. Mais pour avoir eu des retours de personne ayant utilisés le premier modèle, je suis largement plus optimiste sur le Spica. La taille du téléphone est très bien adaptée pour une prise en main efficace. Il faut tout de même un petit temps d’adaptation pour palier l’absence du clavier physique ; le clavier virtuel, surtout en mode portrait, reste un peu délicat à manipuler ; deux ou trois jours d’utilisation intensive sont nécessaires avant de maîtriser la saisie clavier en toute circonstance. L’expérience phone/gsm est plutôt bonne, je pense que c’est le cas pour tous les smartphones ; un bilan plutôt positif sur ce point. La web expérience doit être partagée en deux partie. D’un côté la partie widget/game et de l’autre la partie navigation internet via le « Browser » d’Android.

Widget/Game expérience

La widget-expérience est très bonne. Après avoir testé une multitude d’applications, toutes m’ont donné une impression positive. De la plus simple à la plus complexe, on est toujours étonné qu’un appareil de cette taille soit si agréable. C’est aussi beaucoup du au travail de google de proposer des composants graphiques très bien élaborés et adaptés à ce genre d’utilisation. En terme de jeux, on peut être très satisfait des capacités 2D du Spica. La 3D (sous OpenGL ES) semble peu performante, mais quelques recherches en ligne laissent croire que Samsung doit fournir des drivers plus performants de sa puce S3C6410. Je vous conseille un bon jeu 2D très prenant Robo Defense de Lupis Labs Software. Il y a en fait beaucoup d’autres jeux mais Robo Defense est celui avec lequel je m’éclate le lus en ce moment… Robo Defense Screenshot

Internet expérience

Comme dit plus haut l’internet-expérience et un peu moins bonne. La taille de l’écran y est pour beaucoup et le peu de site internet optimisé pour les smartphones y contribue énormément à ne pas être à l’aise. On a plus envi de passer sur son portable ou son PC de bureau pour une navigation internet plus aisée. Je n’ai pas eu cette impression sur un Nexus One ou un Iphone 3GS donc je suppose que la gêne vient de la taille de l’écran. Le zoom est accessible grâce à un simple double-click pour avoir une vision adaptée du contenu, mais le scrolling est agaçant.

Conclusion

Quelques regrets…
Pas de version officielle d’Android 2.2 (Froyo), la taille de l’écran un peu petite et peut-être un manque de mémoire interne. Même si on peu installer pas mal d’applications on est tout de même limité. Je pense que l’android-phone de Samsung qui devrait cartonner est le Galaxy S qui est prévu pour septembre 2010 comme étant l’Iphone 4 killer ou concurrent du HTC Evo 4G.

Il faut dire que le Spica reste un très bon rapport qualité/prix dans la gamme moyenne des smartphones.

Signer une application Android [Ubuntu 9.10]

Android developper

Android developers

Signer une application Android n’est pas bien compliqué. Ces quelques vont vous guider dans la préparation du certificat. Il faut bien entendu avoir une plate forme Android fonctionelle.

mkdir -p ~/.local/share/keystore
cd ~/.local/share/keystore
keytool -genkey -v -keystore android-release-key.keystore -alias mon_alias -keyalg RSA -validity 10000

Il ne vous reste plus qu’à répondre aux questions…

Pour signer une application, le plus simple est d’utiliser ant. Il suffit de renseigner les deux lignes ci-dessous dans le fichier build.properties à la racine de votre projet :

# fichier : build.properties
key.store=/home/christian/.local/share/keystore/android-release-key.keystore
key.alias=mon_alias

Lorsque vous compiler votre projet avec la commande ant, il faut renseigner le ou les mots de passe de votre certificat, puis à la racine du projet tapez :

ant release

Il est aussi possible de réaliser la signature de vos applications à la main, je vous conseille dans ce cas le tutoriel android traitant directement du sujet. il ne reste plus qu’à déployer l’application.

Pour installer votre application sur l’émulateur ou votre device, il faut utiliser l’outil ADB ou passer par Eclipse/ADT.

Android Market sur son emulateur

Logo Android

Logo Android

Pour les développeurs qui n’ont pas encore de mobile Android, il est impossible de tester l’Android Market et ce, même depuis les images pour l’émulateur livré avec le SDK. Avec un peu de ruse il est possible, de jouer avec les applications disponibles depuis le market. Pour ce faire nous allons utiliser les images fournit par HTC sur leur portail dédié aux développeurs.

Je vous conseille de suivre mon article sur la mise en place d’une plate-forme de développement Android sous linux : http://www.kakesa.net/os-design/installer-le-sdk-android-et-eclipse-adt-ubuntu-9-10/139 si vous n’en avez pas encore.

Créer un répertoire temporaire pour stocker l’image du firmware du HTC Dream, par exemple /tmp/android :

mkdir -p /tmp/android
unzip signed-dream_devphone_userdebug-img-14721.zip
chmod a+r *.img

L’image récupéré depuis le site de HTC étant celui d’une version 1.6, créons un avd de la même version et copions-y l’image HTC :

android list target
android create avd -t 3 -n avd1.6
cp /tmp/android/system.img ~/.android/avd/avd1.6.avd/

Lançons l’émulateur :

emulator -avd avd1.6
  1. Cliquez sur le logo Android à l’écran
  2. Suivez le tutoriel ou passez-le
  3. Utilisez votre compte google ou choisissez de le créer
  4. Sélectionnez une application du Market et installez-là