Comment utiliser et empaqueter un fichier JAR avec mon application Android?
Question
J'ai une API sous la forme d'un fichier JAR que je voudrais utiliser dans mon application Android. Je ne sais pas si elle devrait faire partie du projet dans Eclipse ou conservés séparément et ajouté aux propriétés du projet. Ce JAR doit également être fourni avec l'application, alors comment est-ce fait pour les applications Android?
La solution
Comme l'explique cette question SO :
- Votre projet -> clic droit -> Importer -> Fichier d'archive ->
yourjar.jar
- Votre projet -> clic droit -> Propriétés -> Chemin de génération Java -> Bibliothèques -> Ajouter Jar ->
yourjar.jar
Vous devez l'ajouter en tant que fichiers JAR « externe », et définir l ' « Ordre et l'exportation » dans votre projet Eclipse.
Mise à jour Février 2012:
Pacerier mentionne dans le commentaire ayant un problème (ClassNotFound), même si il a fait déclarer la bibliothèque.
Il avait:
Cependant, la solution était simple:
Plus de 1 heure gaspillée. L'homme était je pissé!
Solution: assurez-vous que votre JAR est compilé avec 1.6 et non 1.7 .
Argh
Autres conseils
Merci à VonC pour moi pointant dans la bonne direction. J'ai eu les mêmes symptômes, mais pour une autre bibliothèque (je avais besoin d'ajouter org.apache.commons.codec.binary.Base64 pour un projet Android). La solution qui a fonctionné pour moi était un peu différent. Ci-joint les étapes que je suivais:
- Bibliothèque de téléchargement de http://commons.apache.org/codec/download_codec.cgi
- Extrait commons-codec-1.6.jar de la tarball et copie à une locale dossier
- Dans Eclipse:
- nom du projet clic droit
- choisissez "Propriétés" dans le menu contextuel
- sur l'onglet "Bibliothèques", sélectionnez "Ajouter des fichiers JAR externes ..."
- naviguez et sélectionnez commons-codec-1.6.jar de l'emplacement, il extrait sur votre disque local
- Le fichier jar va maintenant apparaître sous la rubrique « Bibliothèques » référencés dans votre Package Explorer et vous serez en mesure de référencer la bibliothèque dans votre code.