J'ai créé un projet Android et ajouté un fichier JAR externe (hessian-4.0.1.jar) à mon projet. J'ai ensuite ajouté le fichier JAR au chemin de génération et l'ai coché dans Order and Export.
L'ordre et l'exportation sont apparemment ignorés et toutes les classes du fichier JAR externe sont manquantes au moment de l'exécution.
Existe-t-il une astuce pour inclure correctement les classes nécessaires d'un fichier JAR externe lors de la construction d'une application Android à l'aide du plug-in Eclipse? Je ne veux pas utiliser ant ou Maven.
Pour Eclipse
Un bon moyen d'ajouter des fichiers JAR externes à votre projet Android ou à tout projet Java consiste à:
libs
dans le dossier racine de votre projet.libs
Maintenant , cliquez avec le bouton droit sur le fichier Jar, puis sélectionnez Chemin de construction> Ajouter au chemin de construction , ce qui créera un dossier appelé "Bibliothèques référencées" dans votre projet.
En faisant cela, vous ne perdrez pas vos bibliothèques référencées sur votre disque dur chaque fois que vous transférez votre projet sur un autre ordinateur.
Pour Android Studio
Remarque: Si vous utilisez des bibliothèques tierces, il vaut mieux utiliser des dépendances transitives où le script Gradle télécharge automatiquement le fichier JAR et le fichier JAR de dépendance lors de l'exécution du script Gradle.
Ex: compilez 'com.google.Android.gms: play-services-ads: 9.4.0'
En savoir plus sur Gradle Dependency Management
Oui, tu peux l'utiliser. Voici comment:
Cette vidéo peut être utile si vous rencontrez des problèmes.
Je sais que le PO termine sa question en faisant référence au plug-in Eclipse, mais je suis arrivé ici avec une recherche qui ne spécifiait pas Eclipse. Donc, voici pour Android Studio:
jar
au répertoire libs (tel que copier/coller)jar
et sélectionnez "Ajouter en tant que bibliothèque ...".C'est ça!
J'utilise actuellement le SDK 20.0.3 et aucune des solutions précédentes ne fonctionnait pour moi.
La raison pour laquelle hessdroid fonctionne là où hess a échoué est que les deux fichiers jar contiennent Java compilé pour différentes machines virtuelles. Le code d'octet créé par le compilateur Java ne peut pas être exécuté sur la machine virtuelle Dalvik. Le code d'octet créé par le compilateur Android ne peut pas être exécuté sur la machine virtuelle Java.
Dans mon cas, j'avais accès au code source et pouvais créer un fichier jar Android en utilisant la méthode que j'ai décrite ici: https://stackoverflow.com/a/13144382/545064
Il s'avère que je n'ai pas assez bien examiné ma trace de pile, le problème n'est pas que le fichier JAR externe n'est pas inclus.
Le problème est que la plate-forme Android ne contient pas javax.naming. * Et de nombreux autres packages pour lesquels le fichier JAR externe comporte également des dépendances.
L'ajout de fichiers JAR externes et la définition de l'ordre et de l'exportation dans Eclipse fonctionnent comme prévu avec les projets Android.
Aller au projet actuel
Clic droit-> Propriétés-> Chemin de construction Java-> Ajouter des fichiers JAR aux bibliothèques -> Cliquez sur OK
Il est ensuite ajouté au fichier de bibliothèques référencées dans votre projet actuel.
Si vous utilisez Android Studio, procédez comme suit (j'ai copié et modifié la réponse @Vinayak Bs):
- Sélectionnez la vue Projet dans la vue latérale du projet (au lieu de Packages ou Android)
- Créez un dossier appelé libs dans le dossier racine de votre projet.
- Copiez vos fichiers JAR dans le dossier libs
- La vue latérale sera mise à jour et les fichiers JAR apparaîtront dans votre projet.
- Maintenant, faites un clic droit sur chaque fichier JAR que vous souhaitez importer, puis sélectionnez "Ajouter en tant que bibliothèque ...", qui l'inclura dans votre projet.
- Après cela, tout ce que vous avez à faire est de référencer les nouvelles classes dans votre code, par exemple.
import javax.mail.*
L'API Java d'Android ne prend pas en charge javax.naming. * Et de nombreux autres éléments javax. *. Vous devez inclure les dépendances en tant que jars séparés.
dans Android studio si vous utilisez gradle
ajoutez ceci à build.gradle
compile fileTree(dir: 'libs', include: ['*.jar'])
et ajoutez le fichier jar au dossier libs
Si vous utilisez le système de construction gradle, procédez comme suit:
mettez les fichiers jar
dans le dossier libs
respectif de votre application Android. Vous le trouverez généralement dans Project
> app
> libs
. Si le dossier libs
est manquant, créez-en un.
ajoutez ceci à votre fichier build.gradle
votre fichier app
. (Pas à votre build.gradle
de Project
)
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
// other dependencies
}
Cela inclura tous vos fichiers jar
disponibles dans le dossier libs
.
Si vous ne voulez pas inclure tous les fichiers jar
, vous pouvez les ajouter individuellement.
compile fileTree(dir: 'libs', include: 'file.jar')
Copier le fichier .jar dans le dossier du projet Android n'est pas toujours possible.
Surtout s'il s'agit d'une sortie d'un autre projet de votre espace de travail et qu'elle continue à être mise à jour.
Pour résoudre ce problème, vous devrez ajouter le fichier jar en tant que fichier lié à votre projet, au lieu de l'importer (ce qui le copiera localement).
Dans l'interface utilisateur, choisissez:
Projet -> Importer -> Système de fichiers -> yourjar.jar -> (Zone Options) Avancé -> Créer un lien dans l'espace de travail.
Le lien est enregistré dans le fichier .projet:
<linkedResources>
<link>
<name>yourjar.jar</name>
<type>1</type>
<locationURI>PARENT-5-PROJECT_LOC/bin/Android_ndk10d_armeabi-v7a/yourjar.jar</locationURI>
</link>
</linkedResources>
PARENT-5-PROJECT_LOC
signifie par rapport au fichier de projet, 5 répertoires vers le haut (../../../../../).
Puis ajoutez-le aux bibliothèques:
Projet -> Propriétés -> Java Chemin de construction -> Bibliothèques -> Ajouter un pot -> yourjar.jar
Dans la même fenêtre, sélectionnez l'onglet Commande et exportation et marquez votre pot afin qu'il soit ajouté à l'apk.
créer un dossier (comme lib) dans votre projet, copier votre fichier JAR dans ce dossier. Maintenant, allez dans configurez le chemin de construction en cliquant avec le bouton droit de la souris sur le projet, il y a dans chemin de construction, sélectionnez
'add jar' naviguez jusqu'au dossier que vous avez créé et pick le jar.