Bien sûr dans les vidéos publiées sur la chaine officielle de Google sur Youtube, on voit Android tourner sur des véritables écrans de téléphone. Mais nous n’avons pas plus d’informations sur ce qui doit être du matériel de test.
Ben « Benno » Leslie, actif développeur était déjà très proche de faire tourner Android sur un téléphone. Il avait essayé, puis renoncé à faire tourner le framework sur le Neo 1973, le téléphone utilisé dans le cadre du développement d’OpenMoko
C’est finalement sur une petite carte de développement Linux qu’il a réussi à porter les éléments disponibles du SDK.
Nous voyons ici, une vidéo, où il fait tourner Android en plein écran :
https://youtube.com/watch?v=stgA7gB7quY%26rel%3D1
Pourquoi est-ce si difficile ?
Google n’a pas libéré toutes les couches de la « plateforme » Android. Tout ce qui est disponible pour le moment sont l’émulateur, les outils et les API de développement.
Les développeurs sont donc obligés d’utiliser des plateformes à processeurs ARM très proche de celle émulées dans le SDK (un ARM 5), pour espérer faire tourner d’Android.
Comment a-t’il fait ?
Benno a utilisé un noyaux linux modifié pour faire tourner Android sur un ARM11.
Il a pour cela utilisé deux technologies :
EABI (Embeded Application Binary Interface), qui est un standard récemment implanté sur les ARMs, permettant à des programmes issue d’autres architectures de tourner sur ARM. OABI est le nom du patch du kernel linux pour profiter de ces fonctionnalités.
OpenBinder est aussi une couche d’abstraction, permettant de s’affranchir dans les développements des contraintes imposées par le matériel et les librairies standards.
Source thats-the-way-it-is.blogspot.com
Envie de retrouver les meilleurs articles de Frandroid sur Google News ? Vous pouvez suivre Frandroid sur Google News en un clic.
[...] avions déjà détaillé les difficulté à faire tourner Android sur du matériel dans un [...]
Vivement qu'on ait des specs hardware, et le reste des sources, histoire de pouvoir se faire une plateforme de dev maison :D (qui pourrait pourquoi pas s'intégrer dans un projet @ school)
Ah, et pour la plateforme qui marche, Armadillo-500, elle utilise le ARM926EJ-S (http://www.timesys.com/services/freescale_armadillo500.htm), qui exactement celui pour lequel sont compilés les binaires android...
Salut, J'ai suivi de près cette histoire, et je pense qu'il y a quelques précisions à apporter (dites moi si je me trompe). Déjà, tout est ARM9 (android, Neo1973 de FIC, et la cible finalement fonctionnelle). Mais il existe plusieurs version de cet ARM9. Le CPU pour lequel est compilé android est le ARM926EJ-S (http://www.arm.com/products/CPUs/ARM926EJ-S.html). Ce CPU utilise le jeu d'instructions ARMv5, dernière génération en date. Le CPU du Neo1973 de FIC est le ARM920T (http://www.arm.com/products/CPUs/ARM920T.html). Ce CPU utilise le jeu d'instructions précédent ARMv4. ARMv4 a des fonctionnalités en moins. Ce qu'a essaye de corriger Beno, sans succès. Ajouter à ça une sauce de EABI/OABI (pas totalement compris pour moi, mais on dirait un format de binaire), et le fais que les ARMs supportent deux modes, un 16 bits avec le sous jeu d'instruction Thumb, et un 32 bits normal ARM, ainsi que ARMv4 et ARMv5 ne gèrent pas ces deux modes de la même manière... vous avez alors un mélange détonnant, que même Beno n'a réussi à contourner.
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix