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…)
AirDroid est une application pour systèmes Android permettant l'accès aux données et le contrôle de son smartphone à distance :
Cette application, que l'on installe (gratuitement) sur son smartphone, crée en quelque sorte un petit serveur web. C'est sur ce dernier que l'on va se connecter avec le navigateur de son PC.
Il n'y a donc rien à installer sur son PC.
Pour se connecter, il suffit :
Pour en savoir plus : www.frandroid.com
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
sudo ./adb kill-server
puis :
sudo ./adb start-server
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3202", MODE="0666"
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"
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9018", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1361", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0489", SYSFS{idProduct}=="c001", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="4e12", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c87", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c99", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ca2", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c91", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
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"
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
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", SYSFS{idProduct}=="618e", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", SYSFS{idProduct}=="6171", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", SYSFS{idProduct}=="618e", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="d00d", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="681c", MODE="0666"
* 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"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="212e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5156", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0167", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYSFS{idProduct}=="41db", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYSFS{idProduct}=="41da", MODE="0666"
http://www.linux-usb.org/usb.ids (utilisez la fonction rechercher de votre navigateur)
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"
$ 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
Protocole de transfert de fichiers multimédias sur des périphériques externes :
Le branchement direct "stockage de masse"
sshdroid pour accéder à partir d'un client ssh/sftp
partage NFS ou Samba
client UPNP, partager un calendrier, une bal, ..
À 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.
sudo add-apt-repository ppa:upubuntu-com/devel sudo apt-get update sudo apt-get install android-sdk
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
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.
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.
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
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.
Pour finir, configurez Eclipse pour qu'il utilise le SDK :
Voici une liste de liens où vous trouverez de bon tutoriaux pour vous aider à développer vos applications Android.