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:
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.
file:///opt/android-sdk/extras/google/google_play_services/docs/reference
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:
Project structure
Une autre façon d’attacher des sources:
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
Continuer comme dans la réponse de Matyas:
Encore une question d’actualité au moment de ma publication:
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 .