60 votes

Comment faire en sorte qu'Android Studio télécharge les sources des dépendances et la javadoc ?

J'ai déjà vérifié ce poste : Comment télécharger les sources de dépendances pour un projet Gradle dans IDEA ?

Mais ça n'a pas marché pour moi. Peut-être est-ce parce qu'ils font référence à IntelliJ Idea, et que j'ai le problème avec Android Studio.

J'ai essayé d'ajouter

apply plugin: 'idea'
idea {
    module {
        downloadJavadoc = true
        downloadSources = true
    }
}

Que ce soit dans le fichier build.gradle de Root (je suis dans une configuration multi-projets) ou dans le fichier build.gradle de l'application.

Le fichier gradle de mon application :

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.2'
    }
}

repositories {
    mavenCentral()
}
dependencies {
    compile files('libs/android-support-v4.jar')
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.8.4'
}
android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

Ensuite, dans Android Studio, lorsque je clique sur une méthode de la bibliothèque universalimageloader, j'obtiens un écran indiquant qu'aucune source n'est attachée. Si je clique sur attacher les sources, cela s'affiche : enter image description here

Comme vous pouvez le voir, seul le jar de la librairie a été téléchargé dans le cache de Gradle. Aucun *-sources.jar ou *-javadoc.jar n'a été téléchargé. J'ai nettoyé le projet, supprimé le dossier .gradle pour le forcer à télécharger à nouveau depuis maven. Sans succès.

J'ai vérifié deux fois que l'image universelle chargée a les sources et la javadoc disponibles dans maven, donc ce n'est pas le problème.

Gracias.

0 votes

J'utilise Android Studio 0.1.9 (dernière version en date) et le plugin gradle 0.4.2.

0 votes

Il semble que cela fonctionne maintenant avec un simple projet d'importation. J'ai la version 0.2.6 qui inclut la version 1.7 de gradle.

0 votes

@stigkj parlez-vous des sources Android ou d'une bibliothèque tierce ? Auparavant, je pouvais au moins utiliser les paramètres du projet pour importer les sources. Dans les dernières versions, la boîte de dialogue des dépendances du bocal a été supprimée et je ne peux pas l'ajouter de toute façon. Avez-vous des idées ?

10voto

Victor Häggqvist Points 639

Pour les sources et les documents Maven, la seule chose que j'ai trouvée est de changer les paramètres par défaut.

File -> Other Settings -> Default Settings... -> Maven -> Importing

Cochez les cases pour télécharger les sources et la documentation settings thumb

0 votes

Enfin une solution propre, merci ! Pour les bibliothèques non-maven, une possibilité est d'utiliser le dépôt maven local et d'y placer les fichiers jar nécessaires avec javadoc.

21 votes

Il n'y a pas de "Maven" dans mon Android studio dans les paramètres du projet ou les préférences, sur Mac, AS 2.3.3.

5voto

Abi- Points 121

Comme on peut le voir, le réponse de Xavier Ducrohet (Android SDK Tech Lead Google Inc.) en date du 26 juillet 2013 :

Je ne pense pas que Gradle gère cela à ce stade. J'ai parlé aux développeurs et ils en sont conscients. Nous envisageons d'ajouter un crochet dans Gradle afin de pouvoir le faire lorsque l'API d'outillage interroge le modèle.

3voto

misaka-10032 Points 179

Essayez ce plugin sur github . Cela fonctionne pour moi.

Update: Le README.md du repo GitHub dit maintenant :

Ce plugin est déprécié. AndroidStudio 1.4 intègre ce support.

3voto

robotoaster Points 1125

Actuellement, Android Studio importe les bibliothèques avec les sources. Comme pour les documents java, appuyez sur F1.

Vieille réponse :

Comme il s'agit d'une avant-première, la solution la plus simple l'emporte.

Pour l'instant, il suffit de les ajouter manuellement au projet dans la boîte de dialogue Structure du projet. Les choses sont encore pires car maintenant Android Studio va supprimer les fichiers de module (iml) de toutes les dépendances qui ne sont pas liées aux configurations et tâches natives d'Android Gradle, par exemple, le module a une dépendance robolectric et une tâche supplémentaire et la configuration localTest est ajoutée dans build.gradle. Après l'ouverture d'Android Studio, la dépendance sera supprimée et vous devrez la rajouter à nouveau.

Pour l'instant, je garde les fichiers iml et le dossier .idea dans mon git. Après le lancement

git checkout myproject/myproject.iml

0 votes

Bonjour robotoaster, voulez-vous dire que mon problème n'a pas de solution ? Donc Android Studio est actuellement bogué et il faudra attendre qu'ils le corrigent ?

0 votes

Oui, mais Google est très actif sur ce point et peut être corrigé à tout moment.

0 votes

Bien que cela ne résolve pas mon problème, le problème semble être avec Android Studio, qui est bogué ou incomplet pour le moment, donc au moins j'ai l'astuce de robotoaster comme solution de rechange pour le moment.

1voto

RobertoAllende Points 401

Comme en 2021, je télécharge une bibliothèque tierce qui a des sources disponibles mais Android Studio ne les obtient pas, ni ne montre les docs.

Je suis ces étapes pour obtenir et voir les sources avec les docs sur mon Android Studio :

  1. Télécharger manuellement le paquetage source library-sources.jar
  2. Ouvrez une classe en utilisant une classe de la bibliothèque et appuyez sur F1 sur une méthode pour obtenir la doc.
  3. Une fois le code source décompilé affiché, cliquez sur "Choose Source" en haut à droite.
  4. Utilisez la boîte de dialogue pour sélectionner le fichier téléchargé à l'étape 1.
  5. Fermer le source décompilé. Appuyez à nouveau sur F1 sur la méthode d'une bibliothèque.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X