Je dois créer une bibliothèque que je vais exporter vers le client dans un fichier jar. Est-il possible de créer un pot avec les ressources qu'il contient?
Google adMob a un tel fichier jar, qui comprend un fichier de ressources tel que R $ layout.class. Cette page décrit un moyen de le faire, mais je ne suis pas en mesure de comprendre exactement comment je suis censé importer le projet de bibliothèque dans une application à l'aide de la méthode ci-dessus.
Ceci est le plus proche que vous pouvez obtenir:
Étape n ° 1: Créez un projet de bibliothèque Android normal) et faites-le fonctionner.
Étape n ° 2: Copiez ce projet de bibliothèque Android dans un autre répertoire.
Étape n ° 3: Créez un fichier JAR à partir du projet de bibliothèque Java à partir du projet de bibliothèque d'origine Android, et placez-le, puis placez-le dans le répertoire libs/
. de la copie réalisée à l’étape 2. Vous devriez pouvoir exécuter ProGuard manuellement sur ce fichier JAR, bien que je n’aie pas essayé de le faire.
Étape n ° 4: Supprimez tout le contenu du répertoire src/
Du projet de bibliothèque copié, en laissant le répertoire src/
Vide.
Étape 5: Compressez ou distribuez le projet de bibliothèque copié Android.
Cela vous donnera un projet de bibliothèque Android comme celui de Play Services, où les ressources sont disponibles, mais pas le code source.
UPDATE : Une approche encore meilleure consiste à présent à empaqueter votre projet de bibliothèque sous la forme d'un AAR, qui constitue le moyen natif d'Android de créer un artefact réutilisable à partir de votre code compilé et requis Ressources. À l'heure actuelle (juillet 2014), Gradle pour Android, Android Studio et le Android-maven-plugin
Peut créer et utiliser des AAR.
Cela marche!
Cela fonctionnera bien avec toutes les ressources. En vous remerciant tous. pour votre réponse
Suivez les étapes ci-dessous pour obtenir un fichier jar distribuable de votre bibliothèque (vérifié pour un projet de bibliothèque sans dépendances externes):
Ctr+Shift+O
(sous Windows/Linux) ou Cmd+Shift+O
(sur Mac) pour résoudre les dépendances d'importation de la bibliothèque ajoutée.Commentez en cas de problème.
Testé avec adt 22.2.1
Vous ne pouvez pas empaqueter les fichiers de ressources dans jar. Vous pouvez exporter votre projet en tant que projet de bibliothèque.
Vous exportez vos classes d’utilitaires qui ne font pas référence à des ressources dans Android, c’est-à-dire des classes pures Java sous forme de fichier jar.
Vérifiez le lien ci-dessous
http://developer.Android.com/tools/projects/index.html
Pour faire de votre projet un projet de bibliothèque
Faites un clic droit sur votre projet. Aller aux propriétés. Choisissez Android. Assurez-vous que sa bibliothèque est cochée.
Pour référencer le projet de bibliothèque dans votre projet Android
Faites un clic droit sur votre projet. Aller aux propriétés. Choisissez Android. Cliquez sur Ajouter. Parcourir et le projet de bibliothèque.
Citant des docs
Un projet de bibliothèque diffère d'un projet d'application standard Android en ce sens que vous ne pouvez pas le compiler directement sur son propre .apk et l'exécuter sur un périphérique Android. De même, vous ne pouvez pas exporter le projet de bibliothèque dans un fichier JAR autonome, comme vous le feriez pour une vraie bibliothèque, mais compilez-la indirectement en faisant référence à la bibliothèque dans l'application dépendante et en la construisant.
Selon la dernière Android Studio v1.2, c’est aussi simple que de prendre un gâteau. Déjà répondu à la solution complète avec des captures d’écran sur ce lien
Voici un moyen simple de le faire avec fourmi, que l’on trouve dans le code source Volley. Ajoutez le code ci-dessous à custom_rules.xml puis générez-le avec ant jar
<?xml version="1.0" encoding="UTF-8"?>
<project name="volley-rules" default="help">
<!-- A rule to generate the JAR for inclusion in an Android
application. Output file will be bin/volley.jar -->
<target name="jar" depends="-compile">
<jar destfile="bin/volley.jar"
basedir="bin/classes" />
</target>
</project>
Avec Eclipse ADT v22.6.2, vous pouvez simplement exporter jar en cliquant sur Fichier-> Exporter> Java> Fichier JAR, sélectionnez les répertoires et la destination où vous souhaitez les enregistrer.