Je connais les projets de bibliothèque Android, qui vous permettent de créer un projet à source partagée qui peut être extrait dans les applications Android si nécessaire. Cependant, cela nécessite que la source soit disponible.
Je recherche un moyen de créer et de distribuer une bibliothèque à source fermée pouvant être utilisée dans d'autres projets Android comme un JAR traditionnel. Cela nécessitera l'utilisation du compilateur Android, ce n'est donc pas un fichier JAR vanilla-Java. FWIW, je n'ai pas besoin d'intégrer des ressources / mises en page dans le JAR.
J'ai vu http://andparcel.com/ mais cela ressemble à une solution de contournement, et je préférerais utiliser quelque chose «officiellement pris en charge» par Google. De plus, je dois m'assurer que le JAR que je construis est compatible avec l'ancienne / nouvelle version du SDK Android (c'est-à-dire que j'ai besoin d'un moyen de définir la version de la plate-forme cible, etc.).
Les derniers ensembles d'outils Android permettent-ils la création / la consommation de binaires JAR? Pouvez-vous citer de la documentation sur la façon dont je peux le faire?
Réponses:
Si vous créez un projet de bibliothèque Android sans avoir aucune ressource, l'ADT (d'abord remarqué dans r16) créera un .jar avec le même nom que le projet dans le dossier 'bin'.
la source
myapp.jar
dans le/bin
dossier. Il y aclasses.jar
, mais ce n'est pas ça, non?Android ne fournit pas de type spécial d'Android-JAR. Mais ce que vous pouvez faire, c'est ajouter un build.xml à votre projet et construire le JAR avec ant.
Mon build.xml ressemble à ceci:
Générez le JAR en l'exécutant
ant jar
dans le dossier principal de vos projets.la source
bin/classes
, donc<jar destfile="MyAndroidLib.jar" basedir="bin/">
devrait l'être<jar destfile="MyAndroidLib.jar" basedir="bin/classes/">
Vous pouvez créer un projet Java "normal" et importer à partir de là Android.jar. Ensuite, vous aurez accès à tous les composants du SDK. Ensuite, vous pouvez exporter votre projet sous forme de jar ... et le charger depuis votre application Android. Cela fonctionne très bien et cela semble être un moyen simple de le faire.
la source
il vous suffit d'aller dans les propriétés du projet dont vous voulez faire jar.Cliquez sur l'onglet Android. et cochez la bibliothèque Is. maintenant vous pouvez voir le fichier .jar dans le dossier bin. utilisez-le là où vous voulez l'utiliser.
la source
La seule solution «officiellement prise en charge» par Google est le projet Bibliothèque, et il nécessite la distribution du code source. Vous pouvez créer un JAR de la manière habituelle, mais vous ne pouvez pas y inclure ni y référencer des ressources.
Malheureusement, je pense qu'il n'est pas non plus possible d'inclure un JAR packagé dans un projet de bibliothèque, comme moyen de contourner l'exigence de code source.
la source
Dans la dernière version d'Android Studio 1.2, la création de la bibliothèque JAR a été rendue aussi simple que pointer et cliquer.
Étapes à suivre :
L'étape suivante consiste à ajouter votre bibliothèque Jar en tant que dépendance dans votre application. Aussi simple que ça
.... Ou vous pouvez simplement ajouter la ligne ci-dessous à votre fichier de note d'application
Google fait la promotion de l'archive Android (AAR), même si JAR pris en charge est ramené au studio Android.Pour découvrir la différence entre AAR et JAR, reportez - vous à ce lien
la source
Essayez ceci: cela fonctionne
1) Faites de votre projet de bibliothèque un projet normal en désélectionnant l'indicateur IsLibrary.
2) Exécutez votre projet en tant qu'application Android. (Il ne montrera aucune erreur)
3) vous trouverez un fichier .jar dans le dossier bin avec .apk.
4) Donnez-vous .jar qui souhaite utiliser votre bibliothèque.
5) Dites-leur de simplement importer le fichier jar externe dans le chemin de construction.
cela fonctionnera bien avec toutes les ressources. bonne chance.
la source
L'ADT crée un dossier bin qui contient tous les fichiers de classe pour tous les fichiers et répertoires source correspondants dans votre projet, vous pouvez utiliser la commande jar, créer une archive jar contenant ces fichiers et répertoires de classe et présumément votre bibliothèque, mais bien sûr le le niveau de plate-forme des fichiers de classe ne serait ciblé que pour le niveau actuel de la construction du projet - vous auriez besoin d'un fichier jar différent pour chaque niveau de plate-forme; Cependant, la grande chose à ce sujet est que le fichier R.class est inclus dans l'arborescence du répertoire du projet et que vous avez donc accès à ses ressources. Je ne sais pas si c'est la façon officielle de faire les choses dans Android, mais cela a fonctionné pour moi.
la source
Dans notre projet, nous créons apk (en utilisant apkbuilder) qui est installé dans / system / framework et ajouté cet apk dans le classpath par défaut. Pour la compilation des applications utilisant le jar, nous créons un fichier jar (en utilisant jar c).
Remarque: nous n'avons aucune ressource dans la bibliothèque.
la source
.jar est juste un fichier .zip qui contient un fichier .class (vous pouvez essayer de changer l'extension de n'importe quel fichier .jar en .zip puis voir le résultat). Vous pouvez facilement créer n'importe quelle bibliothèque .jar pour n'importe quel but en compressant le fichier .class.
la source
Pas :
1) Ouvrez le fichier project.properties
2) Ajouter de la valeur
android.library=true
3) Enregistrer le fichier
4) Dans le menu éclipse pour le projet, sélectionnez construire automatiquement puis sélectionnez nettoyer
Résultat: un tout nouveau pot est créé sous le bac .
la source