Qu'est-ce que Gradle dans Android Studio?
Gradle est un peu confus pour moi et aussi pour les nouveaux développeur Android. Quelqu'un peut-il expliquer ce que gradle dans Android Studio est et quel est son but? Pourquoi est-Gradle inclus dans Android Studio?
- Voir gradle.org
- Pour répondre à pourquoi vous voulez un outil de construction tels que Gradle, découvrez ce post à partir de Jeff Atwood.
- Quand quelqu'un pose une question sur ici que, oui, n'avez beaucoup de liens dans Google à ce sujet, ce qu'ils sont vraiment se poser pour quelqu'un à la réponse à la question de la plaine de la langue et le mettre dans contexte, comme pourquoi nous avons besoin d'elle, qui l'utilisent le plus, devons-nous savoir pour construire des applications Android dans Android Studio, etc. Car le plus souvent les liens que vous trouverez à ce sujet sur Google sont dans "tech-parler" et pour un débutant c'est déroutant.
- Exactement ma pensée. Je suis encore un peu confus, gradle est juste le processus de fond qui compile le code que j'ai écrit? Aussi, après avoir regardé beaucoup d'autres réponses, ils mentionnent les dépendances. Ce sont ceux-là? Merci beaucoup!
- Peut regarder concis et Belle explication ici création de gradle. Très utile
- Vérifiez également what-is-real-android-studio-gradle-version
- Maintenant, les développeurs peuvent écrire des gradle de scripts dans Kotlin.
Vous devez vous connecter pour publier un commentaire.
Réponse Courte
Gradle est un système de construction.
Longue Réponse
Avant de Android Studio vous étiez à l'aide d'Eclipse pour vos fins de développement, et, les chances sont, vous ne savez pas comment construire votre Android APK sans Eclipse.
Vous pouvez le faire sur la ligne de commande, mais vous devez apprendre ce que chaque outil (dx, aapt) fait dans le SDK.
Eclipse nous a tous sauvés de ces bas niveau, mais important, fondamental de détails en nous donnant leur propre système de construction.
Maintenant, avez-vous jamais demandé pourquoi la
res
dossier est dans le même répertoire que votresrc
dossier?C'est là que le système de génération entre dans l'image. Le système prend automatiquement tous les fichiers source (
.java
ou.xml
), puis applique l'outil approprié (par exemple, prendjava
fichiers de classe et les convertit endex
fichiers), et des groupes de tous dans un seul fichier compressé, notre bien-aimé APK.Ce système de construction utilise certaines conventions: un exemple de l'un est de spécifier le répertoire contenant les fichiers source (dans Eclipse, il est
\src
dossier) ou des fichiers de ressources (dans Eclipse, il est\res
dossier).Maintenant, dans le but d'automatiser toutes ces tâches, il y a un script, vous pouvez écrire votre propre système de construction à l'aide de scripts shell sous linux ou de lot de la syntaxe des fichiers dans windows. Got it?
Gradle est un autre système de construction qui prend les meilleures caractéristiques d'autres systèmes de construction et les combine en une seule. Il est amélioré en fonction de leurs lacunes.
C'est un JVM de génération basé sur le système de, ce que cela signifie est que vous pouvez écrire votre propre script en Java, Android Studio fait usage de.
Une chose cool à propos de gradle est que c'est un plugin système basé sur. Cela signifie que si vous avez votre propre langage de programmation et vous souhaitez automatiser la tâche de la construction de certains paquets (sortie comme un JAR pour Java) à partir de sources vous pouvez écrire un module complet en Java ou Groovy(ou Kotlin, voir ici), et à le distribuer dans le reste du monde.
Pourquoi Google utiliser?
Google a vu l'un des plus avancés systèmes de construction sur le marché et a réalisé que l'on peut écrire des scripts de votre propre avec peu ou pas de courbe d'apprentissage, et sans apprentissage Groovy ou toute autre langue. Donc, ils ont écrit le Android plugin Gradle.
Vous devez avoir vu
build.gradle
fichier(s) dans votre projet. C'est là que vous pouvez écrire des scripts pour automatiser des tâches. Le code que vous avez vu dans ces fichiers est Groovy code. Si vous écrivezSystem.out.println("Hello Gradle!");
alors il sera imprimé sur votre console.Que pouvez-vous faire dans un script de compilation?
Un exemple simple est que vous devez copier des fichiers d'un répertoire à un autre avant que le processus de compilation se produit. Un script de build Gradle peuvent le faire.
build.gradle
imprime "Bonjour Gradle." Ce était génial.C'est le nouvel outil de construction que Google veut utiliser pour Android. Il est utilisé parce qu'il est plus extensible, et plus utiles que les fourmis. Il est destiné à améliorer l'expérience de développement.
Vous pouvez afficher d'un discours de Xavier Ducrohet à partir de l'Android Developer Équipe sur Google I/O ici.
Il y a aussi un autre talk sur Android Studio par Xavier et Tor Norbye, aussi lors du Google I/O ici.
Gradle est un système de construction en cours d'exécution sur Android Studio.
Dans d'autres langues, par exemple:
Gradle
est similaire àmake
, je viens de recevoir son conceptVoici une explication détaillée sur ce
Gradle
est et comment l'utiliser dans Android Studio.Explorer la Gradle Fichiers
génère automatiquement tous les fichiers de build Gradle.
Fichiers De Build Gradle
Fichiers de build Gradle utiliser un
Domain Specific Language or DSL
à définirde génération personnalisée, logique et à interagir avec les Android
les éléments de l'Android plugin Gradle.
Android Studio les projets, composé de 1 ou plusieurs modules, qui sont
les composants que vous pouvez construire, tester et déboguer de façon indépendante. Chaque
le module dispose de son propre fichier de compilation, de sorte que chaque Android Studio de projet
contient 2 types des fichiers de build Gradle.
De haut Niveau Build Fichier: C'est là que vous trouverez les options de configuration qui sont communes à tous les modules qui composent votre projet.
Au Niveau du Module Fichier de Build: Chaque module dispose de son propre fichier de build Gradle qui contient un module spécifique de paramètres de construction. Vous passerez la plupart de votre temps sur le montage au niveau du module de construire des fichier(s) plutôt que votre projet de niveau supérieur du fichier build.
De prendre un coup d'oeil à ces
build.gradle
fichiers, ouvrez Android Studio du panneau Projet (en sélectionnant l'onglet Projet) et d'élargir le Gradle dossier Scripts.Les deux premiers articles dans la Gradle dossier Scripts sont au niveau du projet et au niveau du module fichiers de build Gradle
De Niveau Supérieur Fichier De Build Gradle
Chaque Android Studio de projet contient un unique, haut niveau fichier de build Gradle. Cette
build.gradle
fichier est le premier élément qui apparaît dans la Gradle dossier Scripts et est clairement marquée Projet.Au Niveau Du Module Fichiers De Build Gradle
En plus au niveau du projet Gradle fichier build, chaque module dispose d'un fichier de build Gradle de son propre. Ci-dessous est une version annotée de base, au niveau du module Gradle fichier build.
Autres Gradle Fichiers
En plus de la construction.gradle fichiers, votre Gradle Scripts dossier contient d'autres Gradle fichiers. La plupart du temps vous n'aurez pas à les modifier manuellement ces fichiers comme ils vont mettre à jour automatiquement lorsque vous apportez des modifications pertinentes à votre projet. Cependant, il est une bonne idée de comprendre le rôle de ces fichiers jouer au sein de votre projet.
gradle-wrapper.propriétés (Gradle Version)
Ce fichier permet à d'autres personnes pour construire votre code, même s'ils n'ont pas Gradle installé sur leur machine. Ce fichier vérifie si la version correcte de Gradle est installé et téléchargements de la version nécessaire si nécessaire.
paramètres.gradle
Ce fichier les références de tous les modules qui composent votre projet.
gradle.properties (Propriétés du Projet)
local.propriétés (à l'Emplacement du SDK)
Ce fichier indique le Android plugin Gradle où trouver votre Android SDK installation.
Remarque:
local.properties
contient des informations qui sont spécifiques à l'installation du SDK Android. Cela signifie que vous ne devriez pas garder ce fichier sous contrôle de code source.Bibliographie - Tutsplus Tutoriel
J'ai eu une compréhension claire de gradle de cette.
Gradle est un type de outil de construction qui génère le code source du programme. C'est donc une partie importante de Android Studio, et doit être installé avant de commencer le développement de votre application.
Nous n'avons pas à l'installer séparément, car le Android Studio t-il pour nous, quand nous faisons notre premier projet.
Vous pouvez trouver tout ce que vous devez savoir sur Gradle ici:
Plugin Gradle Guide De L'Utilisateur
DÉFINITION:: Gradle peut être décrit structuré un mécanisme de renforcement des où il fournit un développeur d'outils et de souplesse pour gérer les ressources d'un projet de création de builds qui sont
smaller in size
,targeting specific requirements
pour certains dispositifs de certaines configurationsCONFIGURATIONS DE BASE
minimumSdk
maximumSdk
targettedSdk
versionCode
versionName
BIBLIOTHÈQUES::
Nous pouvons ajouter android bibliothèques ou de tout autre tiers, les bibliothèques en outre, selon les exigences facile qui a été une tâche fastidieuse plus tôt. Si la bibliothèque n'a pas d'ajustement pour le projet, Le promoteur s'est montré un journal où la personne peut trouver une solution appropriée à apporter des modifications au projet afin que la bibliothèque puisse être ajouté. Ses juste une ligne de la dépendance
DE PRODUIRE DES VARIÉTÉS DE BUILDS
Combinaison de construire des types avec la construction de saveurs pour obtenir varities de construire des variantes
RÉDUCTION DE LA TAILLE DES
Gradle aide dans la réduction de la taille de l'généré construire en supprimant les ressources non utilisées non les choses à partir de bibliothèques intégrées
DE LA GESTION DES AUTORISATIONS
Nous pouvons Spécifier certaines autorisations pour certains, construit par l'ajout de certaines autorisations dans certains scénarios basés sur les exigences
CONSTRUIT POUR CERTAINS DISPOSITIFS
Nous pouvons gérer génératrices de construire pour certains dispositifs qui incluent certaines densités et de certaines api niveaux. Cela permet au produit de déploiements dans l'app store en fonction des besoins sur plusieurs types d'appareils
BONNE RÉFÉRENCE
Vogella Tutoriels
Gradle est un système de construction. De construire des systèmes sont des outils logiciels conçus pour automatiser le processus de programme de compilation. Construire des systèmes viennent dans différentes formes, et sont utilisés pour une variété de logiciels construire des tâches. Bien que leur objectif principal est de créer efficacement des fichiers exécutables.
Un autre terme est l'automatisation de la génération qui est le processus d'automatisation de la création d'un logiciel de construire et les processus associés, y compris: la compilation de l'ordinateur du code source en code binaire, emballage code binaire, et l'exécution de tests automatisés.
Peu semblable système de construction pour d'autres langues (voir la liste complète ici):
Au risque d'être discursif je pense que derrière c'est la question de savoir pourquoi la Android Studio /Gradle expérience est si mauvais.
Typique Clojure expérience :
Typique Android Studio /Gradle expérience :
Je ne suis pas sûr que c'est Gradle est la faute de exactement. Mais la "importer à partir d'Eclipse projet" semble assez feuilletée. Pour l'ensemble de Gradle présumé de la sophistication et les vertus de construire un système, Android Studio ne semble pas importer les dépendances de construction ou de processus à partir de l'Éclipse très bien.
Elle ne vous dit pas quand c'est l'échec de l'importation complet d'un graphe de dépendance. Android Studio donne pas utile de l'aide ou des conseils quant à la façon de résoudre le problème. Il n'est pas de vous dire où vous pouvez rechercher manuellement dans l'Eclipse de dossiers. Il n'est pas de vous dire quel bibliothèque semble être manquant. Ou vous aider dans la recherche de Maven, etc. pour eux.
En 2016 les choses comme Leiningen /Clojars, ou le nœud du mnp, ou Python pip, ou la Debian apkg (et je suis sûr que de nombreux autres gestionnaires de paquets pour d'autres langues et systèmes) font très bien l'affaire ... dépendances manquantes sont chose du passé.
Sauf avec Android. Android Studio est maintenant le seul endroit où j'semblent encore à l'expérience manque, la dépendance de l'enfer.
Je suis enclin à dire que c'est à Google de faute. Ils ont cassé l'écosystème Android (et des milliers de les Android des projets /des tutoriels en ligne) quand ils manière cavalière, a décidé de transférer à partir d'Eclipse pour Android Studio /Gradle sans la production d'un solide processus de conversion. Les personnes dont les projets de travaux dans Eclipse ne sont pas adapter pour QUE (sans doute parce que c'est une douleur pour eux). Et les gens qui essaient d'utiliser ces projets sont frapper les mêmes questions.
Et de toute façon, si Gradle est ce super-puissant système de build, pourquoi suis-je encore la gestion de tout un tas d'autres dépendances dans le sdk manager? Pourquoi pas un projet qui doit, par exemple, le ndk préciser dans sa Gradle fichier de sorte qu'il est automatiquement installé et intégré contre si nécessaire? Pourquoi est-NDK spécial? De même pour les plates-formes cibles? Pourquoi suis-je installer explicitement dans l'IDE plutôt que de simplement vérifier mon projet contre eux et d'avoir réglé tout cela, pour moi, derrière les coulisses?
Je me réfère à deux tutoriel pour écrire la Réponse un,deux
Gradle est d'un usage général, déclarative outil de construction. Il est d'usage général, car il peut être utilisé pour construire à peu près tout, vous avez des soins à mettre en œuvre dans le script de construction. Il est déclaratif, puisque vous ne voulez pas voir beaucoup de code dans le fichier build, qui n'est pas lisible et moins facile à gérer. Ainsi, alors que Gradle fournit l'idée de conventions et d'un simple et déclarative, elle fait aussi de l'outil adaptable et aux développeurs la possibilité de prolonger. Il fournit également un moyen facile de personnaliser le comportement par défaut et les différents crochets pour ajouter de tout tiers.
Pourquoi Gradle? Pourquoi Maintenant?
L'outil de génération de la réponse est d'ajouter la fonctionnalité de script non standard par le biais de mécanismes d'extension. Vous finissez de mélanger du code de script XML ou en invoquant des scripts externes de votre construction logique. Il est facile d'imaginer que vous aurez besoin d'ajouter de plus en plus de code personnalisé au fil du temps. Comme un résultat, vous inévitablement introduire accidentelle de la complexité, et la facilité de maintenance passe par la fenêtre.
Évolution de Java, des Outils de construction de
En Ant, vous assurez le POT de la cible dépend de la cible de compilation. La fourmi n'a pas donné d'indications sur la façon de structurer votre projet. Si elle permet un maximum de flexibilité, Ant fait de chaque script de construction unique et difficile à comprendre. Les bibliothèques externes requis par votre projet sont généralement vérifiées dans le contrôle de version, car il n'existe pas de mécanisme automatique pour les tirer à partir d'un emplacement central.
Maven 1, publié en juillet 2004, a essayé de faciliter ce processus. Il a fourni un standardisé de projet et la structure de répertoire, ainsi que la gestion de la dépendance. Malheureusement, la logique personnalisée est difficile à mettre en œuvre
Gradle s'adapte à cette génération de fabriquer des outils et répond à de nombreuses exigences modernes de construire des outils (Figure 1). Il fournit une expressif DSL, une convention over configuration approche, et puissant de gestion de la dépendance. Il fait le bon choix d'abandonner XML et de présenter la dynamique du langage Groovy à définir votre construction logique. Sons irrésistible, n'est-ce pas?
Gradle combine les meilleures caractéristiques d'autres outils de construction.
Gradle attrayants de l'Ensemble des fonctionnalités
Pourquoi Construire Vos Projets Java avec Gradle Plutôt que de Ant ou Maven?
La clé de déverrouillage Gradle la puissance de fonctionnalités au sein de votre script de construction réside dans la découverte et l'application de son modèle de domaine, comme indiqué dans l'image ci-dessous.
Gradle ne pouvez pas connaître toutes les exigences propres à votre entreprise de construction. En exposant des crochets dans les phases du cycle de vie, Gradle permet de surveiller et de configurer le script de génération du comportement à l'exécution.
L'intégration avec d'Autres Outils de construction de
Gradle joue bien avec ses prédécesseurs Ant, Maven, et le Lierre, comme indiqué dans l'image ci-dessous.
L'automatisation de Votre Projet, de Construire le Déploiement
En image: les Étapes d'un déploiement d'un pipeline.
De la compilation du code
L'exécution de tests unitaires et d'intégration
L'exécution de code statique de l'analyse et de la génération de la couverture de test
La création de la distribution
L'approvisionnement de l'environnement cible
Le déploiement de la prestation,
L'exécution de la fumée et automatisé, tests fonctionnels
Je me réfère à deux tutoriel pour écrire la Réponse un,deux
Gradle
est un système de construction ainsi que d'une construction avancées trousse d'outils permettant de créer de génération personnalisée, logique par le biais de plugins!Avantages:
d'entrée et de sortie.
ré - exécuter cette tâche.
Entrées manifeste
Par le biais de la DSL il est possible de configurer les éléments suivants
les entrées du manifeste:
Établir la variante
Par défaut, Android plugin met automatiquement en place le projet de
construire à la fois un debug et une version de l'application.
Dépendances
Gradle est à l'Groovy JVM langue, ce que la fourmi est de Java. En gros, c'est Groovy de l'outil de construction. Contrairement à la Fourmi, c'est sur la base de l'Groovy de la langue. Vous pouvez, par exemple, écrire Groovy code de script dans le Gradle script pour faire quelque chose plutôt que de s'appuyer sur un domaine spécifique de la langue.
Je ne sais pas IntelliJ spécifique de l'intégration, mais imaginez que vous pourriez "étendre" Groovy de telle sorte que vous pourriez écrire des "construire" des langues primitives et ils est devenu partie du langage Groovy. (Groovy de la métaprogrammation est un débat en soi.) IntelliJ/Google pourrait utiliser Gradle pour construire un très haut niveau la construction de la langue, et pourtant, c'est une langue de construire sur un extensible, standard ouvert.
Gradle est une génération automatique d'outils, peuvent s'intégrer dans beaucoup d'environnements différents, non seulement pour Android des projets.
Voici quelques choses que vous pouvez faire avec gradle.
Une Configuration minimale Requise pour les Nouveaux Projets parce que Gradle a défaut de configurations pour votre android studio les projets.
Dépendance De La Déclaration. Vous pouvez déclarer des dépendances de fichiers jar ou des fichiers de la bibliothèque qui est hébergé dans le serveur local ou distant.
Gradle génère automatiquement un répertoire de test et un test APK de votre projet source.
Si vous ajoutez toutes les informations nécessaires, telles que
keyPassword
etkeyAlias
, à votre fichier de build Gradle, vous pouvez utiliser Gradle pour générer signé Apk.Gradle est possible de générer plusieurs Apk avec l'autre et de construire des configurations à partir d'un seul module.
Dans Android Studio, Gradle est une version personnalisée de l'outil utilisé pour construire android paquets (fichiers apk) par la gestion des dépendances et des prestations sur mesure de créer une logique.
Fichier APK (Android package d'Application) est un format de fichier zip qui contient
Un fichier apk est signée et poussé à l'appareil à l'aide de ADB(Android Debug Bridge) où il est exécuté.
Gradle est un cours avancé de construire des outils pour android qui gère les dépendances et vous permet de définir de génération personnalisée, logique. les caractéristiques sont comme
Personnaliser, de le configurer, et prolonger le processus de construction.
Créer plusieurs Apk de votre application avec des fonctionnalités différentes en utilisant le même projet.
La réutilisation du code et des ressources.
reportez-vous
Gradle est un outil de construction personnalisé et utilisé pour la construction APK ou connu comme la trousse de demande de kit.
par @Brian Gardner:
Gradle est un vaste outil de construction et de la dépendance gestionnaire de projets de programmation. Il a un langage spécifique au domaine basé sur Groovy. Gradle fournit également construire-par-convention de prise en charge de nombreux types de projets, y compris Java, Android et Scala.
Fonction de Gradle:
Gradle est ce qui permet d'automatiser la construction de complexes Android des projets qui impliquent 10s de milliers de lignes de code à partir de plusieurs sources, les projets, les bibliothèques, etc. Il peut conditionnellement générer plusieurs optimisé Apk basée sur une multitude de spécifications de configuration - si vous êtes intéressés, les autres réponses fournir plus de détails sur cet aspect de Gradle.
Toutefois, si vous êtes nouveau à Android en développement, Gradle dans 99% des cas, est ce que s'arrête votre projet de construction. C'est un insondable, système complexe qui dissimule efficacement les Android processus de construction et essentiellement le rend indisponible pour les développeurs inexpérimentés, c'est à dire dans le but de construire un simple niveau d'entrée de l'Application pour Android la méfiance du débutant pourriez avoir besoin d'étudier et de comprendre beaucoup de choses qu'ils n'ont pas de négocier de tels que:
Toutes ces choses sont intéressantes et utiles pour les développeurs Android à savoir, mais ils sont loin d'être facile et présente une formidable barrière à l'entrée. Je soupçonne que ce qui a inspiré l'OP de poser cette question, c'est le sentiment de frustration qui, inévitablement, frappe le néophyte développeur après avoir passé beaucoup trop de temps à essayer d'obtenir une application simple à construire et à être constamment contrarié par Gradle. Le problème est, paradoxalement, exacerbée par la très grande quantité de très technique de la documentation qui est disponible pour l'ensemble de ces technologies. Aussi, pour un grand nombre de besoins de développement Gradle est exagéré.
Une alternative est d'écrire un script shell qui permet de créer votre projet en automatisant les outils disponibles dans le SDK android. Les vertus de cette approche sont nombreux, pour commencer c'est probablement la meilleure façon d'étudier et de comprendre les processus de construction et de l'écosystème Android, et il permet de contrôler la façon dont votre application est construite. Toutefois, cette approche est plus approprié pour la profondément irréparable tech-têtes qu'il est inexpérimenté noobs essayer android.
Qu'est-ce que brillé par son absence (merci de m'informer si il ya une telle chose) est un niveau d'entrée, léger IDE avec une réduction de l'ensemble des fonctionnalités qui, simultanément, simplifie le processus de construction tout en n'occultant elle (donc pas de netbeans ou eclipse), il pourrait toujours utiliser Gradle (ce qui n'allait pas avec Ant). Cela devrait rendre facile pour générer les Apk qui sont conformes à quelques configurations et d'utiliser une structure de projet qui peut évoluer vers un plein Android Studio de projet si vous décidez de le prendre de cette façon.
En termes simples, Gradle est un outil fourni par Android Studio afin de mettre en œuvre deux processus importants:
Gradle = Groovy + Berceau
Hans Dockter forum commentaire
La confusion est un peu inutile quand il pourrait avoir juste été appelé à "Construire" ou quelque chose dans Android Studio.
Nous aimons faire les choses difficiles pour nous-mêmes dans la communauté de Développement de l'.