Android Studio: Comment attacher javadoc

C’est peut-être une question très sortingviale, mais je n’ai pas trouvé d’option pour attacher javadoc / source avec des dépendances locales jar (dans le dossier libs) dans un projet Android. Je ne peux pas croire que j’ai passé une heure sur des choses aussi simples 🙁

Les résultats de recherche Google indiquent simplement l’ajout de la documentation Android ou l’ajout de javadoc dans éclipse. Ce n’est pas ce que je recherche!

J’ai trouvé une solution tout à l’heure, car je ne trouve aucune autre solution depuis longtemps.

supposer:

  1. votre nom de lib est: libxxx.jar
  2. nom javadoc est docs.zip

sous le dossier .idea / libraries, vous pouvez trouver libxxx.xml. remplacer JAVADOC par

   

puis ctrl + alt + y pour synchroniser le projet. (Ne faites pas “Synchroniser le projet avec les fichiers Gradle”, cela supprimera les modifications)

J’ai trouvé et testé un moyen d’append les javadocs sans les perdre après une synchronisation progressive.

  1. Faites un clic droit dans le panneau de projet > Bibliothèques externes > lib-name
  2. Cliquez sur les propriétés de la bibliothèque Lib accessoires
  3. Cliquez sur spécifiez l’URL de la documentation
  4. Et spécifiez une URL. Pour ma machine, c’était le file:///opt/android-sdk/extras/google/google_play_services/docs/reference Ajouter une URL de document
  5. Le résultat était: jdoc ajouté
  6. Et après une synchronisation de projet, j’ai pu parcourir le javadoc des services Google Play google play services cartes javadoc

Remarque:

Cela a placé la même entrée JAVADOC dans le xml identifié par Jason mais ne disparaît pas après une synchronisation avec gradle

C’est possible:

  1. Ouvrir la Project structure
  2. Accédez à la dépendance que vous souhaitez
  3. Appuyez sur le bouton de la capture d’écran et fournissez un dossier ou un fichier

capture d'écran 1

Une autre façon d’attacher des sources:

  1. Entrez dans la classe depuis la bibliothèque (survolez le nom de la classe avec la souris et faites CMD + clic gauche ou CMD + B)
  2. Vous verrez la version décompilée de la classe il menu dans le coin supérieur droit de l’éditeur “Attacher des sources ..”

capture d'écran 2

J’ai eu des problèmes avec la réponse de Matyas que je ne voyais pas ma bibliothèque .jar locale dans la liste des bibliothèques externes , car elle ne montre que les bibliothèques attachées à maven.

La solution est mentionnée ici: https://code.google.com/p/android/issues/detail?id=73087#c26

  1. Faites un clic droit sur l’onglet “Structure” et cochez “Mode Split” (vous pouvez donc ouvrir les tabs “Projet” et “Structure” en même temps).
  2. Ouvrez les deux tabs “Projet” et “Structure” en même temps.
  3. Dans l’onglet “Projet”, sélectionnez la perspective “Android”, puis sélectionnez le dossier de votre module (par exemple, “app”).
  4. Dans la fenêtre “Structure”, vous devriez maintenant voir la liste de toutes les bibliothèques, y compris votre fichier local * .jar

Continuer comme dans la réponse de Matyas:

  1. Faites un clic droit sur la bibliothèque voulue et sélectionnez “Propriétés de la bibliothèque …”
  2. Si vous avez * .jar avec des javadocs localement, vous pouvez appuyer sur le bouton “Ajouter” (vert “+”) et rechercher le fichier sur votre disque (vous n’avez pas besoin de taper manuellement “file: //”).

Encore une question d’actualité au moment de ma publication:

https://code.google.com/p/android/issues/detail?id=73087

Après quelques recherches, je suis tombé sur ceci:

https://github.com/xujiaao/AARLinkSources

Fonctionne comme par magie!

J’ai aussi perdu beaucoup de temps là-dessus …

Voici une tâche de gradation qui recherche les sources et les conventions javadoc par emplacement / nom et les enregistre dans les fichiers .idea à la synchronisation. Il appartient à la section allProjects du fichier root gradle. En l’état, il s’attend à trouver [projectname] /libs/lib.jar à côté de lib-sources.jar et / ou lib-javadoc.jar . En outre, comme indiqué dans les commentaires, si votre javadocs n’est pas localisé à “/” dans le fichier jar, vous devrez peut-être modifier le script pour append “docs / html” (par exemple) à la fin de “jar: // $ doc! / “ .

 allprojects { task addJavaDoc { afterEvaluate { // Specify paths, this will be run per non-root project def projectDir = project.getProjectDir().getCanonicalPath() def rootDir = project.getRootDir().getCanonicalPath() def lib = projectDir + '/libs' // println lib // Uncomment this to troubleshoot // Get any jar dependencies register in the lib folder fileTree(include: ['*.jar'], exclude: ['*-source.jar', '*-javadoc.jar'], dir: lib ).each { File jar -> def jarName = jar.getName() def moduleName = jarName.subssortingng(0, jarName.lastIndexOf(".")) // IntelliJ does this to file names when making the xml files def escapedName = moduleName.replace("-", "_").replace(".", "_") def xmlFile = "$rootDir/.idea/libraries/${escapedName}.xml" // println xmlFile // Uncomment this to troubleshoot if (new File(xmlFile).exists()) { ['javadoc', 'sources'].each {Ssortingng docType -> // Get sources or java doc by naming convention, (expects name-sources or name-javadoc def doc = "$lib/$moduleName-${docType}.jar" // println doc // Uncomment this to troubleshoot if(new File(doc).exists()) { def xml = new XmlParser().parse(xmlFile); def xmlTag = docType.toUpperCase() // Perform xml replacement by convention xml.library[xmlTag].replaceNode { "$xmlTag" { root(url: "jar://$doc!/") } } // Write out changes new XmlNodePrinter(new PrintWriter(new FileWriter(xmlFile))).print(xml) // Notify that changes worked println "Fixed up reference to $doc" } } } } } } } 

De plus, si vous utilisez jcenter ou mavencentral, les javadocs et les sources doivent fonctionner pour les fichiers JAR téléchargés sans utiliser cette tâche, mais vous devrez peut-être append ceci dans chaque fichier non root:

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

Il existe une solution, cette procédure se déroule via le terminal,

J’ai testé une solution sous MAC OS .

1) Déplacer vers le dossier de votre projet

2) ls -al (pour afficher les fichiers cachés)

3) Déplacer vers le dossier .idea , Commande: cd .idea

4) Déplacer dans le dossier des libraries , Commande: cd libraries /

5) Maintenant, vous pouvez voir la liste de tous les fichiers XML pour vos bibliothèques ou jars. Modifiez le comme, vi open androidasync_2_1_7.xml

6) Dans l’écran de l’éditeur, Pour l’insertion

 Press i 

Maintenant, vous voyez la nous devons fournir un chemin ici, comme,

    

Pour sortir

 Press Esc :wq //for exiting and saving :q! //for exiting without saving 

7) Redémarrez le studio Android (parfois, il fallait aussi synchroniser le dégradé).

Personnellement testé avec succès!

1. Structure du projet (ctrl + alt + shift + s)

2.SDK Lieu

3. Emplacement JDK

4.UnCheck “Utiliser le JDK intégré (recommandé)”

5.Sélectionnez votre propre chemin jdk (Mon chemin: C: \ Program Files \ Java \ jdk1.8.0_111)

6. synchronisé (ctrl + alt + y)

Succès

dans android studio si vous utilisez comstackSdkVersion 23 dans buidl.gradle et que vous avez téléchargé le fichier de document du SDK 23 et le fichier source dans le SDK manager , l’API and Android et le code source de l’API java afficheront tous .