J'ai une API sous la forme d'un JAR que je voudrais utiliser dans mon application Android. Vous ne savez pas si cela devrait faire partie du projet dans Eclipse ou s'il doit rester séparé et ajouté aux propriétés du projet. Ce fichier JAR doit également être fourni avec l'application, alors comment cela se fait-il pour les applications Android?Comment utiliser et empaqueter un fichier JAR avec mon application Android?
Répondre
Comme l'a expliqué ce SO question:
- 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 sous forme de 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 énervé!
Solution: assurez-vous que votre JAR est compilé avec 1.6 et non 1.7.
Argh
Grâce à VonC pour me pointer dans la bonne direction. J'ai eu les mêmes symptômes mais pour une bibliothèque différente (j'avais besoin d'ajouter org.apache.commons.codec.binary.Base64 pour un projet Android). La solution qui a fonctionné pour moi était légèrement différente. Ci-joint les étapes que je suivais:
- bibliothèque Télécharger de http://commons.apache.org/codec/download_codec.cgi
- Extrait commons-codec-1.6.jar de l'archive et copier dans un dossier locale
- Eclipse:
- droite cliquez sur le nom du projet
- choisissez "Propriétés" dans le menu contextuel
- dans l'onglet "Bibliothèques", sélectionnez "Ajouter des fichiers externes JAR ..."
- rechercher et sélectionner commons-codec 1.6.jar de l'emplacement que vous avez extrait sur votre disque local
- Le fichier jar apparaît maintenant sous la rubrique « Les bibliothèques référencées » dans votre Package Explorer et vous serez en mesure de référence la bibliothèque dans votre code.
Même après cela, j'obtiens 'java.lang.NoClassDefFoundError: asd.asd.TESTActivity $ 1' qu'est-ce qui manque? – Pacerier
Mon manifeste est parfait, dois-je utiliser "uses-library"? – Pacerier
@Pacerier pas sûr de la uses-library: vous avez d'autres alternatives (http://stackoverflow.com/questions/2230268/android-how-to-use-uses-library) – VonC