J'ai créé un projet Android et ajouté un JAR externe (hessian-4.0.1.jar) à mon projet. J'ai ensuite ajouté le JAR au chemin de génération et l'ai coché dans Order and Export.
L'ordre et l'exportation sont ignorés, semble-t-il, et toutes les classes du JAR externe sont manquantes au moment de l'exécution.
Existe-t-il une astuce pour inclure correctement les classes nécessaires à partir d'un JAR externe lors de la création d'une application Android à l'aide du plugin Eclipse? Je ne veux pas utiliser de fourmi ou de Maven.
android
eclipse
build.gradle
class-library
AndroidSmoker74
la source
la source
Réponses:
Pour Eclipse
Un bon moyen d'ajouter des fichiers JAR externes à votre projet Android ou à tout projet Java est:
libs
dans le dossier racine de votre projetlibs
dossierMaintenant, faites un clic droit sur le fichier Jar, puis sélectionnez Build Path> Add to Build Path , ce qui créera un dossier appelé «Bibliothèques référencées» dans votre projet
En procédant ainsi, 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 est préférable d'utiliser des dépendances transitives où le script Gradle télécharge automatiquement le JAR et le 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 Mangement
la source
libs
lib
libs/
. Ne modifiez pas manuellement le chemin de génération.Oui, tu peux l'utiliser. Voici comment:
Cette vidéo peut être utile si vous rencontrez des problèmes.
la source
J'utilise actuellement le SDK 20.0.3 et aucune des solutions précédentes n'a fonctionné pour moi.
La raison pour laquelle hessdroid fonctionne là où hess a échoué est que les deux fichiers jar contiennent du java qui est compilé pour différentes machines virtuelles. Le code d'octet créé par le compilateur Java n'est pas garanti pour s'exécuter sur la machine virtuelle Dalvik. Le code d'octet créé par le compilateur Android n'est pas garanti pour s'exécuter sur la machine virtuelle Java.
Dans mon cas, j'ai eu accès au code source et j'ai pu créer un fichier jar Android à l'aide de la méthode que j'ai décrite ici: https://stackoverflow.com/a/13144382/545064
la source
Je sais que l'OP termine sa question en référence au plugin Eclipse, mais je suis arrivé ici avec une recherche qui ne spécifiait pas Eclipse. Voici donc pour Android Studio:
jar
fichier au répertoire libs (tel que copier / coller)jar
fichier et sélectionnez "Ajouter comme bibliothèque ..."C'est tout!
la source
Il s'avère que je n'ai pas assez bien regardé ma trace de pile, le problème n'est pas que le JAR externe n'est pas inclus.
Le problème est que la plate-forme Android manque javax.naming. * Et de nombreux autres packages que le JAR externe a é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.
la source
Goto Current Project
Il est ensuite ajouté au fichier de bibliothèques référencées dans votre projet actuel.
la source
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 dans des fichiers JAR séparés.
la source
Si vous utilisez Android Studio, procédez comme suit (j'ai copié et modifié la réponse @Vinayak Bs):
la source
dans le studio android si vous utilisez gradle
ajoutez ceci à build.gradle
et ajoutez le fichier jar au dossier libs
la source
Si vous utilisez le système de construction Gradle , procédez comme suit:
mettre des
jar
fichiers dans lelibs
dossier respectif de votre application Android. Vous trouverez généralement il àProject
>app
>libs
. Si lelibs
dossier est manquant, créez-en un.ajoutez ceci à votre
build.gradle
fichier votreapp
. (Pas à votreProject
« sbuild.gradle
)Cela inclura tous vos
jar
fichiers disponibles dans lelibs
dossier.Si vous ne souhaitez pas inclure tous les
jar
fichiers, vous pouvez les ajouter individuellement.compile fileTree(dir: 'libs', include: 'file.jar')
la source
créez un dossier (comme lib) dans votre projet, copiez votre pot dans ce dossier . maintenant, allez configurer le chemin de construction à partir du clic droit sur le projet, sélectionnez-le dans le chemin de construction
'ajouter un pot' parcourez le dossier que vous avez créé et choisissez le pot.
la source
La copie du 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 dans votre espace de travail et qu'il continue d'être mis à jour.
Pour résoudre ce problème, vous devrez ajouter le pot en tant que fichier lié à votre projet, au lieu de l'importer (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 .project :
PARENT-5-PROJECT_LOC
signifie par rapport au fichier projet, 5 répertoires vers le haut (../../../../../).Ajoutez-le ensuite aux bibliothèques:
Projet -> Propriétés -> Chemin de génération Java -> Bibliothèques -> Ajouter un pot -> yourjar.jar
Dans la même fenêtre, choisissez l' onglet Commande et exportation et marquez votre pot pour qu'il soit ajouté à l'apk.
la source