{{tag>matériel tutoriel BROUILLON}} ====== Android ====== [[http://www.android.com|Android]] est un système d'exploitation pour appareils mobiles tactiles basé sur le noyau Linux. Il a été développé par Google et [[http://fr.wikipedia.org/wiki/Open_Handset_Alliance|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 [[https://play.google.com/store|Google Play]] ou via des market alternatifs comme par exemple [[http://f-droid.org/|F-droid]] qui comporte uniquement des applications libres. Le système est sous licence [[http://fr.wikipedia.org/wiki/Licence_Apache|Apache]] version 2, certains logiciels et surcouches graphiques sont open source et gratuits, d'autres en partie voire entièrement propriétaires ( [[http://fr.wikipedia.org/wiki/Google_Apps|Google apps]], [[http://fr.wikipedia.org/wiki/HTC_Sense|HTC Sense]], [[http://en.wikipedia.org/wiki/Motoblur|Motoblur]]...) [[http://www.wired.com/epicenter/2010/10/is-android-open/|Est ce qu'Android (ou iOS) est OUVERT ?]] ===== Connecter vos appareils Android à votre PC ===== ==== Connexion WIFI ==== === Application Airdroid === [[http://www.airdroid.com/|AirDroid]] est une application pour systèmes Android permettant l'accès aux données et le contrôle de son smartphone à distance : * Transférer des fichiers entre votre appareil Android et l'ordinateur. * Couper, copier, coller, rechercher, renommer ou supprimer les fichiers sur la carte SD. * Recevoir, envoyer, transférer ou supprimer des SMS. * Installer, désinstaller et sauvegarder des applications. * Voir les images, les partager, les supprimer, les définir comme fond d'écran. * Créer des contacts, les modifier, consulter et nettoyer les journaux d'appels. * Personnaliser les sonneries du téléphones. * ... etc. 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 : - de lancer l'application sur son smartphone - de saisir l'adresse (Ex: 192.168.1.20:8888/ ) fournie par l'application dans la barre d'URL de son navigateur - de saisir le mot de passe donnée par l'application. Pour en savoir plus : [[http://www.frandroid.com/applications/126771_prise-en-main-de-airdroid-2-pour-controler-son-android-a-distance|www.frandroid.com]] Si vous n'avez ni WIFI, ni câble, il est aussi possible d'utiliser le réseau opérateur (3G, ...) et de se connecter sur un serveur tier (http://v2.airdroid.com) avec un compte créé spécifiquement ou avec un compte Twitter, Facebook ou Google. ==== Connexion USB ==== Cette manipulation permet d'utiliser les outils de Google (adb) pour envoyer des commandes ou des fichiers à l'appareil. Si vous voulez juste accéder à la mémoire du télephone, aucune manipulation n'est requise si ce n'est le montage de la carte SD depuis la barre de notification > "Activer pour copier des fichiers ..." et l'activation du "Débogage USB" (Applications > Développement) pour un accès complet. 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 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 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 : **[[apt>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" === 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" === 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" === Motorola === == Motorola Milestone ou Droid == SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYSFS{idProduct}=="41db", MODE="0666" == Motorola Milestone XT720 == SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYSFS{idProduct}=="41da", 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é === 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 ==== Modes de connexion ==== Protocole de transfert de fichiers multimédias sur des périphériques externes : * **(fr)** [[http://doc.ubuntu-fr.org/mtp| MTP - Media Transfer Protocol]] __à faire, à placer :__ 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, .. ===== Développer des applications pour Android ===== À l'aide du SDK fourni par Google et d'un [[http://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement_int%C3%A9gr%C3%A9|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 [[http://www.upubuntu.com/2012/05/how-to-install-android-sdk-release-18.html|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). [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] suivants * **[[apt>ia32-libs]]** ou **[[apt>ia32-libs-multiarch]]** si vous utilisez Ubuntu 11.04 ou antérieure **en version 64bits** * **[[apt>sun-java6-bin]]** et **[[apt>ant]]** dans tous les cas Dans la 12.10 : **[[apt>openjdk-6-jre]]** **[[apt>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|Eclipse]], l'IDE incontournable pour Java, afin de faciliter le développement de vos applications Android. Cependant l'utilisation d'[[eclipse|Eclipse]] n'est pas indispensable pour développer vos applications. Si vous souhaitez l'utiliser, installez simplement le paquet **[[apt>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 [[http://developer.android.com/sdk/index.html | 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 quatres 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 == - Lancer Eclipse et sélectionner le menu **Help > Install New Software** - Dans la boite de dialogue **Available Software**, cliquez sur **Add** - 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**. - 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**. - 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**. - 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 : - Allez dans le menu **Window -> Preferences...**. - Choisissez Android dans la liste de gauche. - Dans le champs **SDK Location**, cliquez sur **Browse...** et sélectionnez le répertoire dans lequel vous avez installé le SDK Android. - Cliquez sur **Apply**, puis OK. === Concevoir les applications === Voici une liste de liens où vous trouverez de bon tutoriaux pour vous aider à développer vos applications Android. * http://www.pointgphone.com/tutoriaux-android * http://www.android-dev.fr * http://ydisanto.developpez.com/tutoriels/android/debuter/#LIII-B * http://www.siteduzero.com/tutoriel-3-554364-developpement-d-applications-pour-terminaux-android.html ===== Voir aussi ===== * **(en)** [[http://www.android.com/|Site officiel d'Android]] * **(en)** [[ http://developer.android.com/guide/topics/fundamentals.html]] * **(en)** [[http://code.google.com/android/download.html|Téléchargement du SDK]] ---- //Contributeurs :jahbromo, listenup, [[:utilisateurs:Herrleiche]], [[:utilisateurs:lo_pescofi]] //