Ceci est une ancienne révision du document !



Android

Logo Androïd Android est un système d'exploitation pour appareils mobiles tactiles basé sur le noyau Linux. Il a été développé par Google et l'Open Handset Alliance.

Tout comme la plupart des systèmes pour appareils mobiles (iOS, Symbian, PalmOS…), Android permet l'installation d'applications (gratuites aussi bien que payantes) via Google Play ou via des market alternatifs comme par exemple F-droid qui comporte uniquement des applications libres.

Le système est sous licence Apache version 2, certains logiciels et surcouches graphiques sont open source et gratuits, d'autres en partie voire entièrement propriétaires ( Google apps, HTC Sense, Motoblur…)

Partages / connexions / synchronisation Android et Ubuntu

Si vous voulez copier / déplacer des fichiers d'Ubuntu vers Android ou vice versa, voici les différentes méthodes :

Si vous voulez partager des images, vous pouvez les partager avec les méthodes du chapitre précédent. En plus, vous pouvez les partager :

  • Via Google + photo

En plus des méthodes décrites au chapitre Partages de tout type de fichiers, vous pouvez :

  • Utiliser Google Music

Il est possible de recevoir les notifications de son téléphone sur Ubuntu via :

  • Android Desktop Notifications
  • Pushbullet
  • Airdroid (à confirmer)

Vous pouvez voir et/ou controler Ubuntu via Android ou le contraire via :

  • VNC (si Android est rooté)
  • Google Bureau à distance
  • TeamViewer

Technologies, méthodes

La majorité des anciens appareils Android supportent la norme UMS (Universal Mass Storage).

Si votre appareil le supporte, alors vous pouvez naviguer sur votre appareil comme sur une clef USB. L'utilisation est identique

La tendance est à l'utilisation des normes MTP / PTP

Pour accéder au stockage USB, il faut connecter l'appareil par câble à votre PC (sur certains modèles il faut au contraire laisser débranché avant de faire la manip suivante), puis aller dans les paramètres d'Android : Paramètres > Section : Sans fil et réseaux > Paramètres supplémentaires > Utilitaires USB, et activer "Connecter le stockage au PC". Selon votre version Android le chemin d’accès à ce menu peut être légèrement différent.

Pour la 13.04, une simple connexion par câble USB permet d'accéder via Nautilus (sous Unity) ou Thunar (Xubuntu) à l'ensemble de votre appareil Android. Un bug empêche parfois l'ouverture du périphérique par Dolphin (Kubuntu), consulter ce topic pour régler le problème.

Les normes MTP (Multimedia Transfer Protocal) et PTP (Pxxxx Transfer Protocol) semblent etre la norme par défaut sur les appareils Android à partir de 2014.

Voir MTP.

Pour utiliser les outils google "adb"

Les manipulations suivantes permettent d'utiliser les outils de Google (adb) pour envoyer des commandes ou des fichiers à l'appareil. Cette étape est nécessaire pour utiliser les outils du SDK (adb, fastboot,…).

Créez le fichier :

 gksudo gedit /etc/udev/rules.d/51-android.rules 

Ajoutez-y les identifiants USB de votre appareil (voir la partie qui suit pour une liste non-exhaustive)

Redémarrez Udev :

 sudo restart udev 

Afin de vérifier si tout a bien fonctionné, depuis le répertoire "platform-tools" du SDK lancez :

 ./adb devices 

Si vous venez d'installer par dépôt, le chemin est :

 /usr/bin/android-sdk-linux/tools/android 
Si la commande "./adb devices" ne renvoie aucun périphérique, essayez de relancer le serveur manuellement avec la commande :
 sudo ./adb kill-server 

puis :

 sudo ./adb start-server 

Remarque : N'oubliez pas d'activer l'option développeur sur votre appareil Android (Débogage usb) si celle-ci existe.

En version 64 bits : Si la commande "./adb devices" renvoie l'erreur : error while loading shared libraries: libncurses.so.5 c'est que vous avez oublié ci dessus : ia32-libs-multiarch

Liste des identifiants USB d'appareils Android

Acer

Acer Liquid
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3202", MODE="0666"
Acer Liquid MT (aka Metal, aka S120)

Voici les retours de lsusb: mode normal: ID 0502:3317 Acer, Inc., et en mode fastboot: ID 0502:3316 Acer, Inc.

Celle règle m'a permis de flasher la bestiole:

SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"

, GROUP="moimeme"

Alcatel

Alcatel OT-990 (Ubuntu 12.04 Precise)
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9018", MODE="0666"

Archos

Archos 5IT
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1361", MODE="0666"

Geeks Phone

Geeks Phone One
SUBSYSTEM=="usb", SYSFS{idVendor}=="0489", SYSFS{idProduct}=="c001", MODE="0666"

Google

Google Nexus One
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="4e12", MODE="0666"

HTC

HTC Desire
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c87", MODE="0666"
HTC Desire HD
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c99", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ca2", MODE="0666"
HTC Desire Z
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c91", MODE="0666"
HTC Hero
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
HTC Sensation
SUBSYSTEM=="usb", SYSFS{idVendor}=="[0bb4]", MODE="0666"
SUBSYSTEM=="usb",ATTR{idVendor}=="[0bb4]",ATTR{idProduct}=="[0c86]",SYMLINK+="android_adb"
SUBSYSTEM=="usb",ATTR{idVendor}=="[0bb4]",ATTR{idProduct}=="[0c86]",SYMLINK+="android_fastboot"
HTC Wildfire S
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ff9", MODE="0666" #Normal Marvelc
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0cc0", MODE="0666" #Debug Marvelc
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0cb0", MODE="0666" #Recovery Marvelc
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ff0", MODE="0666" #Fastboot Marvelc

LG

LG GT540
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", SYSFS{idProduct}=="618e", MODE="0666"
LG GW620
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", SYSFS{idProduct}=="6171", MODE="0666"
LG Optimus ONE (LG P500)
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", SYSFS{idProduct}=="618e", MODE="0666"

Motorola

Motorola Milestone ou Droid
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYSFS{idProduct}=="41db", MODE="0666"
Motorola Defy Mini XT320

* Mode Mass storage USB :

SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYSFS{idProduct}=="2e17", MODE="0666"

* Mode Débogage USB :

SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYSFS{idProduct}=="2e18", MODE="0666"
Motorola Milestone XT720
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYSFS{idProduct}=="41da", MODE="0666"

Samsung

Samsung Galaxy (i7500)
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="d00d", MODE="0666"
Samsung Galaxy 5 (i5500)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"
Samsung Galaxy Spica (i5700)
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="681c", MODE="0666"
Samsung Galaxy S (i9000)

* Mode Kies :

SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="6877", MODE="0666"

* Mode Mass storage USB :

SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="681d", MODE="0666"

* Dunno what this is but it is required for me :

SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="681c", MODE="0666"

* Mode lecture Media (autodetecté par Linux comme mass storage par defaut) :

SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="68a9", MODE="0666"
Samsung Galaxy Y (i9100)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685e", MODE="0666"

Simvalley (Pearl diffusion)

SP-120
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0005", MODE="0666"

* Warning: A nécessité aussi ce qui suit :

echo "0x0bb4">~/.android/adb_usb.ini

Pas trouvé comment passer root…

Sony

Sony Ericsson X10i
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="212e", MODE="0666"
Sony Ericsson Kino/Neo (MT15i)
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5156", MODE="0666"
Sony Ericsson Xperia Mini (ST15i)
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0167", MODE="0666"

Wiko

Wiko Stairway
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c03", MODE="0666"

Pour les autres appareils Android

http://www.linux-usb.org/usb.ids (utilisez la fonction rechercher de votre navigateur)

Pour les appareils Android toujours pas trouvés

Lancer la commande : lsusb qui vous enverra un message du style :

Bus 001 Device 013: ID 22b8:708b Motorola PCS

Cela signifie que idVendor=22b8 et idProduct=708b. La ligne sera donc :

SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYSFS{idProduct}=="708b", MODE="0666"
Avec certains appareils, la manipulation décrite ci-dessus n'est pas suffisante. Il faut alors ajouter manuellement au fichier adb_usb.ini l'identifiant USB du fabricant. Par exemple pour l'Archos 5IT, entrer la commande suivante dans un terminal :
$ echo "0x0e79" >> ~/.android/adb_usb.ini

Arrêter le serveur adb :

$ ./adb kill-server

Enfin tester la détection de l'appareil :

$ ./adb devices
[...]
List of devices attached 
A5S-5C2E0004-00000000-0403724D-10013015	device

FTP (File Transfer Protocol) est un protocole de transfer de fichier. Pour simplification, il est conseillé de se connecter en Wifi sur le meme réseau qu'Ubuntu. L'utilisation est simple en installant ce logiciel sur Android :

Méthode très pratique pour connecter un téléphone sans carte SD tel que le Motorola Moto G. J'ai utilisé la méthode décrite sur ce post : http://choorucode.com/2012/12/29/ftpserver-app-for-android/ –Erisi

Pour connecter votre ordinateur Ubuntu à votre appareil Androïd en utilisant FTP et WiFi, il suffit de :

  • Installer l'application FTPServer d'Andreas Liebig et la configurer comme décrit sur le post cité plus haut :
    • définir un utilisateur, un mot de passe, un port d'accès et le réseau wifi par lequel vous autorisez la connexion à votre téléphone,
  • Lancer le serveur FTP dans l'application, et vérifier l'adresse IP que votre téléphone a sur le réseau WiFi dans le log affiché par l'application
  • Vous connecter à votre téléphone en utilisant Nautilus
    • Fichier > Se connecter à un serveur
    • Sélectionner 'FTP (avec identification)'
    • Saisir les données utilisées pour configurer l'application FTPServer (avec l'adresse IP dans 'Serveur')

Vous pourrez alors accéder au contenu de votre téléphone. Vous pouvez également créer un signet vers votre téléphone pour y accéder plus rapidement ("Signets > Ajouter un signet").

Cette norme permet de lire du contenu multimédia (musique, vidéo, image) entre différents appareils de la maison (Freebox, Android, console de jeux, PC, …)

Grace à cette norme, on peut lire à partir d'un lecteur (client) tout contenu multimédia se trouvant dans une source (serveur).

  • Lecteur multimédia / client Upnp / dnla :
    • Android
      • Archos Video Player
      • A compléter
    • Ubuntu
      • A compléter
  • Sources / serveur Upnp / dnla :

l'environnement AirDroid permet :

  • D'échanger des fichiers entre son ordinateur et son appareil Android
  • De consulter ses contacts à partir d'un ordinateur
  • D'écrire des SMS à partir d'un ordinateur
  • De faire une capture d'écran d'Android
  • De retrouver son appareil Android

Installation / utilisation :

  • Sur l'ordinateur :
    1. Ouvrir l'adresse http://web.airdroid.com
    2. Créer un compte (si ce n'est pas fait)
    3. Se connecter
  • Sur Android :
    1. Se mettre en wifi ou internet mobile (3G/4G)
    2. Créer un compte (si ce n'est pas fait)
    3. Se connecter

Dropbox permet de créer un dossier sur l'ordinateur et sur Android avec une synchronisation automatique entre tous les appareils ou Dropbox est installé et connecté.

Installation / utilisation :

  • Sur l'ordinateur (avec installation) :
  • Sur l'ordinateur (sans installation) :
    1. Ouvrir l'adresse http://www.dropbox.com
    2. Créer un compte (si ce n'est pas fait)
    3. Se connecter
  • Sur Android :
    1. Se mettre en wifi ou internet mobile (3G/4G)
    2. Se connecter

Pushbullet permet d'envoyer le contenu entre l'appareil Android et un autre appareil (ordinateur, tablette, smartphone) :

  • Notes
  • Liste
  • Fichiers de moins de 25 Mo
  • Notification d'Android
  • Adresse

Voir la page Pushbullet pour plus de détail

Developpement

À l'aide du SDK fourni par Google et d'un IDE, vous pouvez créer vous-même des applications à installer sur votre téléphone.

Installation via un PPA (Ubuntu 11.10/12.04)

sudo add-apt-repository ppa:upubuntu-com/devel
sudo apt-get update
sudo apt-get install android-sdk

Installation via PPA (lien en anglais)

Installation manuelle

Pré-requis

Java, Ant, Lib

Le langage utilisé pour développer vos applications Android est le langage Java. Vous devrez donc installer une machine virtuelle Java ainsi que le kit de développement (JDK).

Installez les paquets suivants

Dans la 12.10 : openjdk-6-jre openjdk-6-jdk sont les paquets à installer, avec leurs dépendances

Eclipse (optionnel, les autres grands IDE - Netbeans, IntelliJ IDEA - supportent également Android)

Google a développé un plugin gratuit pour Eclipse, l'IDE incontournable pour Java, afin de faciliter le développement de vos applications Android. Cependant l'utilisation d'Eclipse n'est pas indispensable pour développer vos applications.

Si vous souhaitez l'utiliser, installez simplement le paquet eclipse.

Puis lancez Eclipse et allez dans : Help → Install New Software Cliquez sur « Add » et ajouter les « Software sites » ci-dessous selon le schéma
[Name] - [Location] :

android  - https://dl-ssl.google.com/android/eclipse/
GEF      - http://download.eclipse.org/tools/gef/updates/releases/
EMF      - http://download.eclipse.org/modeling/emf/updates/releases/
GMF      - http://download.eclipse.org/modeling/gmf/updates/releases
Webtools - http://download.eclipse.org/webtools/updates/
Google eclipse Plugin - http://dl.google.com/eclipse/plugin/3.7
Releases Indigo - http://download.eclipse.org/releases/indigo

Puis installer la totalité des champs qui se trouvent dans le nom de schéma "android" (ligne android ci-dessus)

Vous serez ensuite invité à redémarrer Eclipse.

Lors de son redémarrage, il vous indiquera qu'il ne trouve pas le SDK de Android. C'est normal, il faut suivre la procédure ci-dessous.

Installation de l'environnement de développement

Afin de développer vos applications, il vous faudra installer le SDK pour Android et le plugin ADT pour Eclipse si vous souhaitez l'utiliser.

Installation du SDK

Commencez par télécharger le SDK pour Linux sur le site d'Android.

Puis décompressez dans un dossier à la racine de votre "home" et installez les composants supplémentaires vous permettant d'exécuter les diverses commandes de base tel que "adb", "fastboot", etc…

tar -zxvf android-sdk_r*-linux.tgz -C ~/
cd android-sdk-linux/tools/
~/android-sdk-linux/tools/android

Une fois ceci fait, sélectionnez les composants à installer (SDK Platform-tools revision xx, Documentation, SDK Platform Android 3.x …, et les composants tiers, en fonction du matériel pour lequel vous souhaitez développer) et choisissez "Install Selected". Cela peut prendre un peu de temps.

Tout en restant dans le répertoire "tools", mettez ensuite à jour la variable d'environnement PATH pour accéder au programme du SDK :

echo "export PATH=\${PATH}:$(pwd)" >> ~/.bashrc
cd ../platform-tools
echo "export PATH=\${PATH}:$(pwd)" >> ~/.bashrc
. ~/.bashrc
Les quatre dernières commandes ajoutent le chemin courant (pwd) au PATH, donc permet d'exécuter les binaires qui se trouvent dans "android-sdk-linux/tools" et "android-sdk-linux/platform-tools".

Ensuite mettez à jour le SDK :

android update sdk

Il vous faudra alors mettre à jour la liste des paquets et choisir ceux que vous voulez installer. Les paquets appelés "Target" correspondent à la version d'Android cible (1.5, 1.6, 2.0…) sous laquelle vous souhaitez développer.

android list targets

Ensuite il vous faudra configurer des machines virtuelles, afin de tester l'exécution de votre programme dans différents environnements.

Si vous avez une erreur pour les téléchargements, allez dans le menu Settings et cochez la case Force https://... sources to be fetched using http://...
Installation du plugin pour Eclipse 3.5 Galileo
  1. Lancer Eclipse et sélectionner le menu Help > Install New Software
  2. Dans la boite de dialogue Available Software, cliquez sur Add
  3. Dans la boite de dialogue Add Site, entrez un nom au site (par exemple "Android Plugin") dans le champs Name. Puis dans le champs Location entrez l'URL suivante http://dl-ssl.google.com/android/eclipse/ et cliquez sur OK.
  4. De retour dans Available Software, vous devriez voir "Developer Tools" ajouté dans la liste. Cochez la case à coté de Developer Tools, qui sélectionnera automatiquement les outils Android DDMS, Android Development Tools et Android Hierarchy Viewer. Cliquez ensuite sur Next.
  5. Dans la liste de la fenêtre Install Details, les plugins Android DDMS, Android Development Tools et Android Hierarchy Viewer doivent être présents. Cliquez alors sur Next pour lire et accepter les conditions de la licence, puis cliquez sur Finish.
  6. Redémarrez Eclipse.
Si vous avez des problèmes pour télécharger les plugins, essayez de remplacer "https" (qui est préféré pour des raisons de sécurité) par "http" dans l'URL.

Pour finir, configurez Eclipse pour qu'il utilise le SDK :

  1. Allez dans le menu Window → Preferences….
  2. Choisissez Android dans la liste de gauche.
  3. Dans le champ SDK Location, cliquez sur Browse… et sélectionnez le répertoire dans lequel vous avez installé le SDK Android.
  4. Cliquez sur Apply, puis OK.

Concevoir les applications

Annexe : arborescence Android

  • Les photos se trouvent dans /DCIM/Camera
  • Les musiques sont dans /Music, et on peut simplement y déposer ses répertoires avec ses fichiers MP3 ou FLAC.
  • Les films sont à déposer dans /Movies
  • Les sonneries téléphoniques sont dans /Ringtones
  • Les sonneries du reveil sont dans /Alarms
  • Les notifications sont dans /Notifications

Voir aussi

  • android.1404575933.txt.gz
  • Dernière modification: Le 05/07/2014, 17:58
  • par sangorys