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…)
Cette page n'a pas pour but de parler uniquement d'Android mais de tout ce qui est lié à Android et Ubuntu.
Usages Android / Ubuntu
Partages de tout type de fichiers
Si vous voulez copier / déplacer des fichiers d'Ubuntu vers Android ou vice versa, voici les différentes méthodes :
- Avec connexion filaire
- En mode UMS : l'appareil est utilisable comme une clef USB
- En mode MTP / PTP : l'appareil est utilisable comme un appareil photo
- En mode ADB : l'appareil est en mode développeur (utilisation avancée)
- Avec connexion sans fil :
- Avec Dropbox
- Avec Google Drive
- Avec Pushbullet
- En envoyant des fichiers en bluetooth
- Avec AirDroid
- Avec Dukto
- Avec QtAdb : interface graphique pour ADB : l'appareil est en mode développeur (utilisation avancée)
Il peut être également intéressant de connaître l'arborescence sous Android.
Partages d'images
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 +
- Via Google photo
Sur Android, les photos se trouvent dans /DCIM/Camera
Partages de musiques
En plus des méthodes décrites au chapitre Partages de tout type de fichiers, vous pouvez :
- Utiliser Google Music
- Avec les connexions Upnp / DNLA
Sur Android, vous trouverez plusieurs endroits pour stocker des sons :
- /Alarms : sonneries du réveil
- /Music : musiques
- /Notifications : notifications
- /Ringtones : sonneries téléphoniques
Gestions des notifications
Il est possible de recevoir les notifications de son téléphone sur Ubuntu via :
- Android Desktop Notifications
Partages d'écran
Vous pouvez voir et/ou controler Ubuntu via Android ou le contraire via :
- VNC (si Android est rooté)
- Google Bureau à distance
VNC
Pour accéder à Ubuntu depuis Android, si vous avez un serveur SSH sur Ubuntu et un écran connecté à l'ordinateur, vous pouvez lancer un serveur VNC en ligne de commande (x11vnc) sans devoir être devant votre ordinateur. Pour cela, tapez
sudo dpkg-reconfigure x11-common
Choisissez "Nobody"
tapez
env
pour voir vos variable d'environnent. Si vous ne voyez pas écrit DISPLAY=localhost:0, entrez
export DISPLAY=localhost:0
Puis lancer votre serveur VNC (je vous propose x11vnc)
x11vnc --forever --passwd mot_de_passe_du_serveur_VNC
Serveur X11 distant (X11 forwarding)
Vous pouvez aussi contrôler à distance Ubuntu :
- installez un serveur ssh sur Ubuntu
- installez sur votre appareil android un client SSH (JuiceSSH, ConnectBot) et un serveur X11 (Xserver XSDL).
- Lancez votre serveur X sur Android
- connectez-vous en SSH à votre PC, et tapez
export DISPLAY=adresse_ip_de_votre_appareil_android:0
Voilà ! Vous pouvez maintenant lancer des logiciels graphiques à distance qui s'exécuteront sur votre PC. exemple: pour lancer Firefox, tapez dans le client ssh
firefox
Pour l'arrêter, tapez CTRL+C. Pour lancer une interface graphique, tapez (suivant si vous utilisez Unity, KDE, fluxbox…)
gnome-session
startkde
fluxbox
Utiliser des logiciels Android sous Ubuntu
Il est possible de lancer des applications Android sur Ubuntu. Cela permet d'augmenter considérablement le nombre d'applications et jeux sous Ubuntu. Attention, les solutions proposées ci-dessous sont souvent en mode bêta :
- Kit de developpement officiel d'Android : Android SDK – Android Emulator / AVDs. Tutoriel d'installation ICI.
- Emulation avec Genymotion. Application commerciale française. Nécessite VirtualBox installé et l'enregistrement sur leur site pour pouvoir télécharger les images Android. Permet d'émuler Android v.2.3.7 à 5.1.0 sur différents téléphones et tablettes (Nexus, HTC, Motorola, Samsung, Sony et custom). C'est la seule façon, à l'heure actuelle, qui permet de faire fonctionner correctement les jeux "performants" Android sous Ubuntu 16.04 (Xenial Xerus) - 64bit ou supérieur, Debian 8 (Jessie), Fedora 24 - 64bit, Processeur 64 bits, avec une capacité VT-x ou AMD-V, activé dans les paramètres du BIOS, GPU récent et dédié, 400 Mo d'espace disque, 2 Go de RAM pour la version Genymotion 2.8.1 seule disponible sur le site de Genymotion. (Exemple de config qui tourne bien sur 14.04LTS : Galaxy Note 4.1.1 + Genymotion-ARM-Translation_v1.1.zip + gapps-jb-20121011-signed.zip pour accéder au Play Store, puis installer des jeux).
- Emulation avec Andy. Non disponible pour l'instant, version Alpha en cours de développement.
- L'utilisation d'une extension pour chrome 64bit, ARChon. Elle est basée sur un projet de google, ARC, qu'un développeur a repris et fait tourner les app dans Google chrome. (Le tuto suivant est fait à partir d'un article du site Korben. J'espère que quelqu'un pourra l'améliorer car la qualité de ma reprise laisse à désirer).
L'installation: vous devriez trouver l'extension sur le web en ZIP à telecharger. Ensuite cochez dans chrome "mode développeurs". Puis dans les paramètres "charger l'extension non empaqueté" et sélectionnez le ZIP télécharger. Le fonctionnement: il faut empaqueter les apk (fichier d'application Android) avec un logiciel, disponible sur différente plateforme. Sur les mobiles Android, une application permettant d'empaqueter les apk est disponible dans le magasin d'application F-droid. "ARChon". Sinon, sous ubuntu, installer Nodejs puis sudo npm install -g chromeos-apk@latest Pour empaqueter un apk: chromeos-apk lenomsouslequell'applicationstockesesdonnées(souvent " com.nomdel'app.nomdekekechose"
- Utiliser le logiciel Anbox qui utilise QEMU comme émulateur d’Android, permettant ainsi au système de faire tourner les applications de manière transparente. Le système permet d’utiliser les applications Android de la même manière que les programmes classiques et profitent des mêmes enrichissements ergonomiques.
Pour plus d'information, veuillez vous inspirer de cette article chez techapple.net
Développer une application sous Android
Voir l'article détaillé Android SDK
Technologies
ADB
ADB (Android Debug Bridge) est un outil permettant de dialoguer nativement avec un périphérique Android.
Cet outil permet de :
- Copier des fichiers
- Faire des captures d'écran
- Sauvegarder ses données Android
- Lancer des commandes internes telles que reboot, commande Linux, …
L'installation d'ADB est en 2 étapes :
- Installer d'ADB qui se trouve dans le SDK d'Android
- Autoriser Ubuntu à utiliser le périphérique USB Android
Voir l'article détaillé sur ADB / FastBoot
AirDroid
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 :
- Ouvrir l'adresse http://web.airdroid.com
- Créer un compte (si ce n'est pas fait)
- Se connecter
- Sur Android :
- Se mettre en Wi-Fi ou internet mobile (3G/4G)
- Installer l'application AirDroid
- Créer un compte (si ce n'est pas fait)
- Se connecter
il est inutile de créer un compte, il suffit d'adresser son navigateur internet à l'adresse IP Wi-Fi du téléphone, au port 8888, exemple : http://192.168.0.196:8888
Dropbox
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) :
- Voir la page Dropbox
- Sur l'ordinateur (sans installation) :
- Ouvrir l'adresse http://www.dropbox.com
- Créer un compte (si ce n'est pas fait)
- Se connecter
- Sur Android :
- Se mettre en Wi-Fi ou internet mobile (3G/4G)
- Installer l'application DropBox
- Se connecter
FTP
FTP (File Transfer Protocol) est un protocole de transfert de fichier. Pour simplification, il est conseillé de se connecter en Wi-Fi sur le même réseau qu'Ubuntu. Pour connecter votre ordinateur Ubuntu à votre appareil Android en utilisant FTP et Wi-Fi, l'utilisation est simple soit avec :
-
- Définissez un utilisateur, un mot de passe, un port d'accès et le réseau Wi-Fi 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 Wi-Fi dans le log affiché par l'application.
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").
- Autre possibilité avec ESExplorer, allez dans Outils → Gestion accès à distance, entrez l'adresse ip fourni par Android dans votre navigateur web sous Ubuntu ou bien via Nautilus.
Dans les deux cas, vous pouvez :
- Vous connecter à votre téléphone en utilisant Nautilus :
- Fichier > Se connecter à un serveur
- Sélectionner 'FTP (avec identification)' ou entrez simple l'ip,
- Saisir les données utilisées pour configurer l'application FTPServer (avec l'adresse IP dans 'Serveur')
- Avec votre navigateur Web, à l'adresse fourni par votre smartphone.
MTP / PTP
Les normes PTP (Picture Transfer Protocol - lien Wikipedia) etMTP (Multimedia Transfer Protocol - lien Wikipedia) semblent être les normes par défaut sur les appareils Android à partir de 2014.
Pushbullet
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étails
UMS (Universal Mass Storage)
La majorité des anciens appareils Android supportent la norme UMS (Universal Mass Storage - lien Wikipedia).
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.
Upnp / dnla
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
- Sources / serveur Upnp / dnla :
- Android :
- Ubuntu :
- A compléter
Développer des applications pour Android
À 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 12.04)
sudo add-apt-repository ppa:upubuntu-com/devel sudo apt-get update sudo apt-get install android-sdk
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
- ia32-libs ou ia32-libs-multiarch si vous utilisez Ubuntu 11.04 ou antérieure en version 64bits
- sun-java6-bin et ant dans tous les cas
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 Android
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.
Installation du plugin pour Eclipse 3.5 Galileo
- Lancer Eclipse et sélectionner le menu Help > Install New Software
- Dans la boîte de dialogue Available Software, cliquez sur Add
- Dans la boîte 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.
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 champ 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 bons tutoriaux pour vous aider à développer vos applications Android.
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 réveil sont dans /Alarms
- Les notifications sont dans /Notifications