{{tag>android}}
----
====== Développer des applications pour Android ======
La recette classique pour developper des applications sous Android est :
- installer le SDK Android ;
- installer l'environnement de developpement (IDE) avec plugin Android ;
- programmer. :-)
Le SDK d'android semble contenir un paquet cassé paralysant toute tentative d'installation ou de désinstallation. La technique pour s'en débarrasser est décrite [[https://forum.ubuntu-fr.org/viewtopic.php?pid=21693104#p21693104|ici]].
===== Installation du kit de développement - Android SDK =====
À l'aide du SDK fourni par Google et d'un [[wpfr>Environnement_de_développement_intégré|IDE]], vous pouvez créer vous-même des applications à installer sur votre téléphone.
Pour les anglophones, vous pouvez jeter un œil chez [[https://www.wikihow.com/Install-Android-on-Ubuntu-Linux-with-Eclipse-IDE|chez WikiHow]] qui a un très bon tutoriel sur l'installation d'Android SDK et Eclipse.
==== Installation (Ubuntu 16.04 et supérieur) ====
[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>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).
[[:tutoriel:comment_installer_un_paquet|Installez les paquets]] suivants :
* **[[apt>openjdk-6-jre]]** **[[apt>openjdk-6-jdk]]** (le chiffre est à adapter en fonction de votre version d'Ubuntu) et **[[apt>ant]]**.
* Installer les paquets suivants :
**[[apt>libc6-i386,libglib2.0-0:i386,libsm6:i386,libglu1-mesa:i386,libgl1-mesa-glx:i386,libxext6:i386,libxrender1:i386,libx11-6:i386,libfontconfig1:i386,lsb-core]]**
=== Installation du SDK Android ===
Commencez par télécharger le SDK pour Linux sur le site d'[[http://developer.android.com/sdk/index.html |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, etc.) sous laquelle vous souhaitez développer.
android list target
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 d'un environnement de développement (IDE) =====
Le développement d'une applications demande l'utilisation d'un environnement de développement (IDE).
Eclipse était l'environnement recommandé par Google.
Maintenant, Google recommande Android Studio.
Il existe d'autres grands IDE qui supportent également Android : Netbeans, IntelliJ IDEA, etc.
==== Eclipse ====
Google a développé puis abandonné à la communauté [[Eclipse]] le plugin gratuit [[https://marketplace.eclipse.org/content/andmore-development-tools-android%E2%84%A2|Android Developper Tools for Eclipse]], l'IDE incontournable pour Java, afin de faciliter le développement de vos applications Android.
=== Installation d'Eclipse ===
FIXME
Si vous souhaitez l'utiliser, évitez d'installer simplement le paquet **[[apt>eclipse]]** qui est obsolète. Pour plus de détail sur l'installation et l'utilisation d'Eclipse voir [[eclipse|la page d'Eclipse]]
Les procédures ci-dessous sont obsolètes
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 - https://download.eclipse.org/tools/gef/updates/releases/
EMF - https://download.eclipse.org/modeling/emf/updates/releases/
GMF - http://download.eclipse.org/modeling/gmf/updates/releases
Webtools - https://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 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.
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 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.
==== Android Studio ====
> FIXME Ne faudrait-il pas faire une page spéciale ?
===installation===
==Méthode 1==
[[http://developer.android.com/sdk/index.html | Télécharger Android Studio ]]
==Méthode 2 ==
[[https://mfonville.github.io/android-studio/]]
sudo apt-add-repository ppa:maarten-fonville/android-studio
sudo apt-get update
sudo apt-get install android-studio
==Méthode 3 (Obsolète) ==
THIS PROJECT IS NO LONGER SUPPORTED. \\ La méthode suivante est déconseillée car provoque des conflits de paquets
[[http://paolorotolo.github.io/android-studio/]]
Une fois installé, lancez l'assistant de configuration :
/opt/android-studio/bin/studio.sh
=== Configuration ===
Autoriser Android à exécuter votre application :
[[:tutoriel:comment_modifier_un_fichier|Ouvrir le fichier]] **/etc/udev/rules.d/51-android.rules** et enregistrer les lignes suivantes :
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
Mettre les bons droits :
sudo chmod a+r /etc/udev/rules.d/51-android.rules
Plus d'informations :
* [[http://developer.android.com/tools/device.html | Astuce de la doc officielle ]]
* [[http://developer.android.com/tools/extras/oem-usb.html| plus d'information sur les drivers USB OEM pour votre Android]]
=====Utilisation====
Pour accéder aux outils par exemple pour [[https://www.woinux.fr/rooter-un-telephone-android-582|rooter un smartphone]] :
/opt/android-sdk/tools/android
===== Concevoir les applications =====
Voici une liste de liens où vous trouverez de bons tutoriels pour vous aider à développer vos applications Android.
* https://www.pointgphone.com/tutoriaux-android
* http://www.android-dev.fr
* http://ydisanto.developpez.com/tutoriels/android/debuter/#LIII-B
* https://openclassrooms.com/fr/courses/2023346-creez-des-applications-pour-android
* https://www.youtube.com/playlist?list=PLMS9Cy4Enq5JnwAxe6Ao74qSTxxXjiw7N
===== Java Decompileur project =====
==== Méthode JD Project ====
Pour les développeurs il est utile de savoir comment obtenir le code "source/Compilé" d'une application pour Android.\\ Comment ? en la décompilant !
* Lien DL d'aide: Soft: dex2jar + JD-décompile + Tuto, ici: [[http://dl.free.fr/sVDFPwK4H|java.decompiler.zip]]\\
* Tuto ici: [[http://android-pour-les-nuls.fr/tutoriaux/developpement/1640-obtenir-le-code-source-des-applications-android]]\\
* Soft JD-Décompilateur ici:[[http://jd.benow.ca]]\\
* Soft dex2jar :Convertir binaire CLASS.dex <> .JAR, ici: [[https://sourceforge.net/projects/dex2jar/files]]\\
**1er**: avoir un environemnt JAVA JRE d'installé.\\
**2e**: exécuter les script .sh comme programme. [[tutoriel/script_shell#methode_graphique]]
Moi@ubuntu:~/APK/dex2jar-2.0$ ./d2j-dex2jar.sh classes.dex
Moi@ubuntu:~/APK/jd_Gui$ ./jd-gui
==== Méthode ApkTool ====
Veuillez consulter la page [[:Apktool]].
===== Voir aussi =====
* **(fr)** [[android|Page sur Android]]
* **(fr)** [[Google|L'écosysteme Google avec Linux]]
* **(fr)** [[http://www.android-dev.fr/installation-du-sdk-android-sous-ubuntu|Installation du SDK Android sous Ubuntu]]
* **(en)** [[http://www.unixmen.com/install-android-sdk-ubuntu-14-04|Install Android SDK on Ubuntu 14.04]]
* **(en)** [[http://bernaerts.dyndns.org/linux/74-ubuntu/245-ubuntu-precise-android-adb-fastboot-qtadb|Install Android tools]]
* **(en)** [[https://www.wikihow.com/Install-Android-on-Ubuntu-Linux-with-Eclipse-IDE|Install Android on Ubuntu with Eclipse at WikiHow]]
----
//Contributeurs principaux : FIXME.//