Je suis vraiment confus et frustré parce que je ne comprends tout simplement pas comment importer mon projet de bibliothèque Android comme dépendance pour mon projet d'application.
J'ai essayé de trouver en ligne et la plupart des réponses suggèrent d'aller dans la structure du projet de mon application et de cliquer sur '+' puis sur 'module d'importation'
Mais Android Studio 0.3.4 - 0.5.2 n'affiche aucune option et lorsque je clique sur '+', il montre simplement les fenêtres d'un nouveau module.
Suis-je en train de faire quelque chose de mal ou quoi?
Aidez-moi!!!
Enfin, la fonctionnalité du module d'importation est arrivée dans Android Studio 0.5.3 qui a été publié le 27 mars 2014.
Jetez un œil ici: http://tools.Android.com/recent/androidstudio053released
J'ai également testé et il est là dans la fenêtre de structure du projet.
Dans l'onglet Module, vous pouvez maintenant appuyer sur le bouton '+' et importer un module existant ou en créer un nouveau.
Vous rencontrerez cela lorsque vous travaillerez avec des projets basés sur Gradle, comme celui-ci; même en 0.3.2, cette commande de projet d'importation faisait la mauvaise chose; cela semblerait fonctionner et ferait fonctionner correctement la coloration syntaxique dans l'éditeur, mais cela échouerait lorsque vous essayez de créer et d'exécuter votre application, et vos modifications seraient perdues lorsque vous resynchroniseriez le projet avec les fichiers de construction Gradle . C'est pourquoi cela a été supprimé jusqu'à ce qu'il puisse être correctement réimplémenté. Le bug pour le suivre est à https://code.google.com/p/Android/issues/detail?id=62122
En attendant, pour ajouter une bibliothèque existante en tant que dépendance, vous devrez le faire à la main dans vos fichiers de construction Gradle. Pour ce faire, déplacez la bibliothèque de sorte que son répertoire se trouve sous la racine du projet (pour le moment, y compris les modules en dehors de la racine du projet ne sont pas pris en charge), écrivez un build.gradle
fichier de construction qui va construire le module et inclure le module dans votre settings.gradle
fichier.
Vous pouvez trouver cela plus facile si vous passez par la commande Fichier> Nouveau module ... pour créer un module vierge, en choisissant soit un module Java Java ou un Android = module selon le cas, et en copiant les fichiers de la bibliothèque dans le répertoire du module où ils doivent aller. Cela prendra soin des fichiers Gradle pour vous et configurera la structure du répertoire squelette.
Pour Android studio 0.5.7, volley a été importé avec succès en tant que projet de bibliothèque en suivant ces étapes:
Clonez la volée en utilisant git dans le répertoire créé à l'étape 1, la commande est "git clone https://Android.googlesource.com/platform/frameworks/volley ". Maintenant, la structure du projet ressemble à ceci:
[Project root]
|- [Your module]
|- libraries
|- volley
J'ai eu un problème similaire. J'ai ouvert le fichier settings.gradle
Et ajouté la bibliothèque include ':Test', ':libraries:MyLibrary'
, Puis dans build.gradle
, J'ai ajouté la ligne: compile project(':libraries:MyLibrary')
. Si vous le faites: Faites un clic droit sur le projet -> Ouvrir les paramètres du module -> votre projet -> Dépendances, vous verrez les mêmes dépendances dans build.gradle
. Au fait, après ces actions, j'ai redémarré Android Studio, puis IDE créé le fichier * .iml).
J'ai eu le même problème lors de l'utilisation de la version .3.6. Enfin, j'ai décidé de revenir à .3.2. et maintenant ça marche. Je suppose que AS restreint la capacité de se connecter pour ainsi dire des projets inhomogènes. J'ai un (Android/Gradle) project an a (Java/Maven) project1. En essayant d'importer project1 en tant que module de project j'ai échoué, car la seule "option" que j'avais était de créer un nouveau module. Lorsque j'ai essayé d'importer le même module (project1: Java/Maven) pour un projet Java/Gradle, il n'y a eu aucun problème.
Peut-être que la raison en est Android/Gradle ou même simplement Android la nature d'un projet, mais je ne peux pas vraiment vérifier mon hypothèse pour le moment.