web-dev-qa-db-fra.com

AAR dans le projet ANT Eclipse

existe-t-il un moyen d'utiliser la bibliothèque .aar (avec des ressources) dans Eclipse ant project? Je sais qu'il n'y a pas simplement moyen d'utiliser le format .aar comme dans Gradle, mais peut-être existe-t-il une solution de contournement pour le décompresser et l'importer manuellement?

18
czajna666

Cette solution m'a été utile

EDIT: Un fichier .aar est simplement un fichier Zip avec le contenu suivant:

  1. AndroidManifest.xml (fichier requis)
  2. classes.jar (fichier requis)
  3. Res/(dossier obligatoire)
  4. R.txt (fichier requis)
  5. Biens/(dossier optionnel)
  6. libs/*. jar (option de dossier)
  7. jni // *. so (dossier facultatif)
  8. proguard.txt (fichier facultatif)
  9. lint.jar (fichier facultatif)

Vous voyez, dans le fichier .aar, vous avez tout ce dont vous avez besoin pour utiliser la bibliothèque dans Eclipse.

pour créer une bibliothèque:

  1. CRÉER un nouveau projet (ci-après projet de bibliothèque) sur votre espace de travail. N'oubliez pas de le marquer comme une bibliothèque.
  2. Laissez le projet de bibliothèque de dossiers src vide.
  3. .aar Décompresse le fichier. Vous pouvez le renommer en .Zip et unzip ou Utiliser n’importe quel outil. 
  4. Copiez le fichier classes.jar dans le projet de bibliothèque de dossiers de fichiers libs.
  5. Le dossier Res remplace le projet de bibliothèque par le dossier de fichiers .aar res. 
  6. Vous avez créé le projet qui contient presque tout ce dont vous avez besoin.

Voyons maintenant comment configurer votre projet pour qu'il fasse référence au projet de bibliothèque.

  1. Dans le projet, vous souhaitez utiliser la bibliothèque (désormais objectif du projet) ajoutée en tant que projet de bibliothèque de dépendances.
  2. Ouvrez le fichier AndroidManifest.xml .aar dans le fichier et veillez à bien copier Tout ce dont vous avez besoin (autorisations, activités, services, destinataires, etc.) Dans le fichier Objectif du projet AndroidManifest.xml.
  3. Si tel est le cas, copiez l'intégralité du contenu du fichier .aar des actifs du dossier dans le projet cible du dossier des actifs.
  4. Si tel est le cas, copiez tout le contenu du fichier .aar libs folderin dossier libs target project.

  5. Faire un nettoyer l'espace de travail et recompilé.

http://www.iphonedroid.com/blog/utilizar-ficheros-aar-en-Eclipse/#.Vh3krye1Gko

16
ahmed ghanayem

En effet, les fichiers aar ne sont que des fichiers d’archive. Ainsi, vous pouvez le décompresser et trouver des fichiers jar ainsi que des fichiers de ressources. La question a déjà été partiellement répondue ici:

https://stackoverflow.com/a/21485222/1836870

Si vous souhaitez obtenir les ressources à l'intérieur de votre pot, vous pouvez essayer de le reconditionner comme suggéré dans cette réponse:

https://stackoverflow.com/a/21417599/1836870

14
PedroCactus

Le gros du travail peut être fait avec un script merveilleux appelé deaar . The Gist explique des choses, mais en gros, vous lancez:

Ruby deaar.rb [path/to/aar] [output_directory] 

Il génère une bibliothèque presque prête à utiliser. Ensuite, vous devez exécuter:

cd [output_directory]
Android update lib-project -p . -t Android-xx 

Remplacez xx par la version Android que vous ciblez. Maintenant, placez ce répertoire où se trouvent votre build.xml et votre projet.properties. Enfin, ajoutez une ligne comme celle-ci à votre projet.properties:

Android.library.reference.1=./output_directory 

Remplacez le nom du répertoire par celui que vous avez créé. Vous pouvez utiliser ".2" et ainsi de suite pour des bibliothèques supplémentaires. Et c'est tout!

2
goobliata

Twitter Fabric (Crashlytics) dispose d'un plugin kits-libs pour la gestion des dépendances http://docs.fabric.io/Android/fabric/Eclipse.html .

Et il y a un autre projet de plugin Gradle https://github.com/ksoichiro/gradle-Eclipse-aar-plugin .

0
javamonk