Android studio ajouter externes du projet à construire.gradle
J'ai un projet d'exemple, avec la configuration suivante:
/root
+ Pure Java Lib
+ Android Test Lib
+ Android Test Project
Où le " Projet de Test' dépend de la " Test Lib", et la dernière dépend de la " Pur Java Lib'
La compilation du projet et le lancement de cette configuration fonctionne très bien.
Je suis en train de penser à l'importation de ma précédente Éclipse de l'espace de travail et de travail avec Android studio, le problème est le projet d'installation est différente, et je tiens à garder de cette façon.
par exemple, si utiliser l'exemple précédent:
/root
+ Android Test Lib
+ Android Test Project
/Some Other folder (another repository for example)
+ Pure Java Lib
J'ai essayé plusieurs configurations, mais je n'ai pas trouver un moyen de faire référence à un projet en dehors de la portée du dossier parent ('racine " dans le cas de l'exemple).
Dans de nombreuses plates-formes/modules, vous pouvez utiliser le '..' de se déplacer dans les dossiers, mais cela n'a pas fonctionné pour moi, peut-être que je l'utilise mal.
Personne ne sait comment cela peut être réalisé avec Gradle?
Mise à JOUR
Je vais essayer d'être plus générique:
/C:/
/Project A
+ Module 1 - Pure Java
+ Module 2 - Android Test Lib
+ Module 3 - Android Test Project
/Project B
+ Module 1 - Pure Java
+ Module 2 - Pure Java
+ Module 3 - Pure Java
Je voudrais utiliser le Module 1 de projet B, dans Un projet.
Mise à JOUR: 09-03-19
Je l'ai vu et je dois mettre à jour... après près de 6 ans, aujourd'hui, je suis plus sage, et je peux certainement dire que le problème était moi l'incompréhension de la notion de "Source de la vérité".
Tout en ayant une ref à une bibliothèque est un livre agréable à concept.. et peut sembler comme la "Source de la vérité", le VÉRITABLE "Source de la vérité" serait la version du code, chaque projet est à l'aide de la bibliothèque, de provoquer la bibliothèque en elle-même a des versions.. beaucoup de versions de la "Source de la vérité" est relatif à ce projet qui est à l'aide de la bibliothèque.
La bonne façon serait d'utiliser ce que la plupart des développeurs n'aiment pas, et qui est submodules, et oui dupliquer les sources dans chaque projet causent le plus de chances de chaque projet utilise une version différente de ce code.
Vous devez toutefois de viser pour l'ensemble de vos projets afin d'utiliser la dernière et meilleure version de tous vos bibliothèques ... ce qui est un défi en soi
La raison que c'est la bonne façon de développer un projet avec les ressources de la bibliothèque, c'est que cette balance... vous pouvez avoir des centaines de projet, chacun avec sa propre configuration de la bibliothèque.
- Je vois cette question reçoit une certaine attention... Après avoir essayé vraiment dur, j'ai renoncé à l'Android studio pour l'instant, étant donné la complexité de la configuration, j'ai essayé de construire a été tout simplement trop beaucoup, et la construction de mon projet final était faisable, mais très instable. à chaque lancement d'Android studio, j'ai eu à régler certains paramètres de nouveau, et manuellement provoquer l'accumulation de travail. il a été d'environ deux mois depuis que j'ai donné, et j'espère que les choses sont mieux maintenant!
- Approche 2 ci-dessous explique comment faire cela très facilement: stackoverflow.com/questions/25610727/...
Vous devez vous connecter pour publier un commentaire.
En supposant que Certaines Autres Dossier est un projet gradle vous pouvez ajouter quelque chose comme ce qui suit dans vos paramètres.gradle fichier:
compile project(':module1')
de mon build.gradle ou toute autre configuration?Vous avez à mettre dans votre fichier paramètres.gradle ces lignes:
Puis vous devez ajouter dans votre builde.gradle (Module: app) dans le dépendances arbre, cette ligne:
ou aller dans le Structure de Projet > application > Dépendances, cliquez sur Ajouter, choisissez 3 Dépendances de modules et sélectionnez votre module
compile project(path: ':library', configuration: 'variant')
. Ici,variant
se compose deflavor
etbuildType
tel que défini par la bibliothèquebuild.gradle
fichier. Par exemple, si vous voulezrelease
type de construction de la bibliothèque dans undevelop
saveur, puisvariant
estdevelopRelease
.Avec Gradle 1.10 (ne sais pas ce que les autres versions, ce sera valable pour) c'est ce que je suis venu avec basé sur une réponse donnée ici http://forums.gradle.org/gradle/topics/reference_external_project_as_dependancy
J'ai une bibliothèque d'api, un projet commun de la bibliothèque de projet et de l'application principale du projet. Chacun est autonome projet de développement et les deux bibliothèques sont faites pour être partagées entre plusieurs applications.
Dans les paramètres.gradle pour le projet commun:
Puis dans l'application principale des paramètres de projet.gradle:
Dans chacun de ces construire.gradle fichiers que vous venez de référence par le nom que vous avez donné dans les paramètres.createProjectDescriptor comme vous le feriez pour tout autre projet de dépendance:
Cela semble fonctionner. Il n'a même pas jeter une erreur pour plusieurs DEX fichiers de définition de l'api de la bibliothèque, je suspecte parce qu'elle faisait partie du même processus de construction et de Gradle a été assez intelligent pour tout comprendre.
Clic droit sur le projet - Sélectionner "Ouvrir les Paramètres du Module" - Sélectionnez "Modules" dans le volet de gauche - Cliquez sur le symbole "+" sur le dessus - Choisir "Importer un Module".
Après l'importation de Module. Vous devez l'ajouter en tant que dépendance de votre projet en cours.
Garder "Modules" Sélectionné dans le volet de gauche et cliquez sur votre projet - Maintenant, Allez dans l'onglet dépendances et cliquez sur le symbole "+" qui se trouve au bas - Choisissez la troisième option du Module "Dépendances" et si vous avez importé votre projet correctement, il va vous montrer les toutes de module disponibles qui peuvent être ajoutés en tant que dépendance à votre projet actuel.
Je re-poser cette question d'une manière qui entraîne les affiches originales intentions à Comment faisons-nous référence personnalisée d'Android et de Bibliothèques Java vivant à l'extérieur du répertoire de notre Principal Projet Android?
Là, je réponds à ma propre question. Au cœur de ma réponse, utilise @Ethan (l'auteur de la réponse choisie dans le thread en cours) gradle de codage de la perspicacité. Mais ma réponse est-elle navigue certains autres pièges et fournit une description étape par étape exemple.
Qu'Ethan dit, si vous ajoutez cette page à vos paramètres.gradle, il va ajouter un projet externe à Android Studio (dans cet exemple, c'est dans le dossier parent):
Ensuite, pour l'ajouter en tant que dépendance de l'un de vos projets, il suffit de l'ajouter dans la construction.gradle de ce projet une autre dépendance comme ceci (vous pouvez aussi le faire graphiquement comme ici):