La différence entre la construction.gradle(Projet) et de construire.gradle(Module)
Je suis en train d'ajouter une dépendance de Android Http Asynchrone Client dans mon projet. Il y a donc deux construire.gradle fichiers sont présents dans le projet.
Selon ma compréhension, il y a différents types de dépendances: la
- Qui défini au niveau de la racine de construire.gradle(du Projet:My-app)
- L'un à l'intérieur de la buildscript de la construction.gradle(du Projet:My-app)
- Un autre est en construction.gradle(Modules:app)
Cette question est sur des référentiels pour les dépendances de la buildScript, expliquer un peu sur les deux premiers types.
Aussi construire des.gradle(du Projet:My-app) dit
//NOTE: Do not place your application dependencies here; they belong
//in the individual module build.gradle files
Donc je suppose que la dépendance de code d'Android Http Asynchrone Client doit être ajoutée dans la construction.gradle(Module:app).
Si quelqu'un pouvait donner une image claire de toutes ces pour une meilleure compréhension, il serait grand.
- si une bibliothèque externe, oui, vous devriez ajouter à
build.gradle(Modules:app)
ou aller àFile -> Project Structure -> Modules -> (Choose project you want to add library) -> Dependencies
où vous verrez une croix verte, signe, en tapant sur que choisirModule Dependency
et ajouter votre bibliothèque automatiquement - L'ajout de construire.gradle(Module:app), ce qui me donne une erreur que
Failed to find: com.loopj.android:android-async-http:1.4.5
pourquoi il n'est pas en mesure de télécharger directement, j'ai aussi mis le proxy. J'ai téléchargé le fichier jar, et j'ai essayé manuellement mais commeFile Repository
..est-il de la bonne façon. - pour des raisons de simplicité d'utilisation
Project Structure
aller àModules
et de choisir votre projet. Là, vous verrez ungreen cross sign
. En cliquant sur ouvrirNew Module
fenêtre. Là, vous choisissez d'importer votre bibliothèque.Si vous avez.jar
fichier ci-dessous puis choisissezimport .JAR or .AAR package
. Sinon copie de votre bocal àlibs
dossier et sur votreModule:app
ajouter ces dépendances:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile files('libs/your_jar_file.jar') }
- C'est une bonne lecture developer.android.com/studio/build/index.html
Vous devez vous connecter pour publier un commentaire.
build.gradle(Project:My-app)
Chaque projet contient une
top-level gradle file
. Il usally contientcommon configs
pour tousmodules
. Tout ce qui est inclus dans cetop-level gradle
, il aura une incidence sur tous lesmodules
.ex:
build.gradle(Module:app)
Tous
modules
spécifiquegradle
fichier. Tout ce qui est inclus dans cegradle
fichier, il affectera seulement lemodule
qui est inclus sur.ex:
C'est un peu déroutant car Android Studio par défaut montre à la fois
build.gradle
les fichiers un à côté de l'autre (lors de l'utilisation de l'Android de vue).Si vous passez à la vue Projet, vous pouvez voir la structure réelle et où les différents
build.gradle
fichiers sont situés.La
build.gradle
(du Projet: MyApplication) le fichier est dans le dossier racine du projet et de ses paramètres de configuration s'appliquent pour chaque module dans le projet. Un module est une pièce isolée du projet de plus grande envergure. Dans un environnement multi-projet de module, ces modules ont leur propre emploi, mais de travailler ensemble pour former l'ensemble du projet. La plupart des Android les projets ont un seul module, l'application du module.La
build.gradle
(Module: app), le fichier est dans leapp
dossier. Sa construction paramètres s'appliquent uniquement à l'application du module. Si il y avait un autre module, alors que le module a son proprebuild.gradle
fichier. Comme un exemple, j'ai fait un projet de bibliothèque avec trois modules: un module de la bibliothèque, une démo app module, et une autre application module que j'ai l'intention d'utiliser pour le test. Chacun d'eux ont leurs propresbuild.gradle
fichiers que je peux modifier.Dans un projet de base, presque tout ce dont vous avez besoin pour éditer seront dans l'application du module de
build.gradle
fichier. Vous vous en souvenez comme ceci:Lecture
À propos de la relation des deux
gradle
fichiers, hrskrs fait une très explication claire,je vais faire quelques supplément à ce sujet.si votre projet n'a qu'un seul Module (tels que les application),l'avantage de top construire.gradle(du Projet:My-app) se montre pas très clair. parce que vous pouvez config tout en construire.gradle(Module:app) sur le Module,et seulement modifier un fichier lors de la mise à niveau dans les jours suivants。
mais si votre projet comporte 5 Modules,et il est arrivé qu'ils ont une même dépendance Un, si vous n'avez pas utiliser le haut construire.gradle(du Projet:My-app) vous devez maintenir 5 fichiers dans les jours suivants.
par le chemin ,la construire.gradle(Module:app) peut remplacer le construire.gradle(du Projet:My-app).
Cette conception peut améliorer la maintenabilité de l'APPLICATION