Comment utiliser la Documentation Android SDK hors ligne

j'ai téléchargé de la Documentation SDK Android en utilisant SDK Manager, pour L'utiliser avec Android Studio v2.3.0.8, déconnecté.

mais chaque fois que j'appuie sur ctrl+q pour afficher des informations rapides sur un type / type-membre, il affiche "Fetching Documentation...", et après avoir attendu pendant ~20s, il montre l'info.

Je ne veux pas ce retard ou utiliser l'aide en ligne, et les docs locaux sont en place, alors pourquoi ? Et quelle est la solution ?

Edit: cela arrive quand je suis en ligne, mais pas de retard du tout quand je suis en mode hors connexion, comme si L'IDE essayait d'obtenir une nouvelle version de docs.

16
demandé sur oxied 2017-03-20 03:11:10

3 réponses

amélioration de la solution pour l'affichage de la documentation (à partir des sources).

Trouvé, que si vous téléchargez la documentation via le SDK manager (qui se trouve dans .../sdk/docs/reference), vous allez utiliser only 24 API documentation. (Imaginez, votre objectif SDK de projet est de 25 ou 22, par exemple).

Only 24 API in downloaded documentation

Pour résoudre ce problème, vous avez besoin de:

  1. supprimer la documentation via SDK manager dans Android Studio. Delete documenattion in SDK manager
  2. ici, téléchargez les sources pour les API intéressées (les sources contiennent déjà de la documentation). J'ai aussi trouvé que l'extraction documentation from sources un peu plus rapide en comparant avec offline one inside .../sdk/docs/reference. Download sources via SDK manager for interested APIs
  3. supprimer tous les chemins javadoc de jdk.table.xml. Chemin vers ce fichier sur OS X:/Users/.../Library/Preferences/AndroidStudio.../options/jdk.table.xml

    --> Delete all of these and all occurrences -->
    
    <javadocPath>
      <root type="composite">
        <root type="simple" url="http://developer.android.com/reference/" />
      </root>
    </javadocPath>
    
  4. Reboot Studio. Profitez-en!
18
répondu oxied 2017-06-30 11:41:48

Je l'ai téléchargé aussi, et j'ai remarqué que le studio Android N'a pas généré le javadocPath correctement jdk.table.xml, c'est à ça que ressemble le fichier (partie qui a le jdk balise avec le nom Android API ## Platform):

...
<jdk version="2">
  <name value="Android API 25 Platform" />
  <type value="Android SDK" />
  <homePath value="$USER_HOME$/android-sdk" />
  <roots>
      ...
    <javadocPath>
      <root type="composite">
        <root type="simple" url="http://developer.android.com/reference/" />
      </root>
    </javadocPath>
      ...

le Fichier est situé à Android Studio Configuration folder/config/options/jdk.table.xml

l'élément javadocPath pointe vers l'url en ligne, il suffit de changer à votre copie locale, dans mon cas, le docs le dossier est dans /home/mauricio/android-sdk/docs, dans Windows est quelque chose comme C:/android-sdk/docs.

la structure d'url que vous devez suivre est file://<path-to-sdk>/docs/reference

Vous pointer vers le reference dossier à l'intérieur de la documentation.

Ça va ressembler à quelque chose comme ceci:

  <root type="simple" url="file:///home/mauricio/android-sdk/docs/reference" />
  <!-- if it's Windows -->
  <root type="simple" url="file://C:/android-sdk/docs/reference" />

puis, s'il tourne, redémarrez L'Android Studio et c'est terminé.

J'ai aussi un SSD, et la documentation hors ligne le rend ouvert. instantanément.

Remarque: Vous devez le faire dans tous les javadocPath dans le fichier (assez facile à utiliser Replace all dans n'importe quel éditeur de texte), et lorsque vous téléchargez une nouvelle API Android, vous devez le refaire car elle génère l'url pointant vers les docs en ligne.


je pense que c'est un bug dans Android Studio, parce que le sourcePath et classPath est détecté et correctement généré. Ça vaut la peine de leur faire un rapport.

15
répondu Mauricio 2017-03-24 16:55:34

pour les outils sdk v26, en utilisant la ligne de commande:

PATH_TO_SDK/tools/bin/sdkmanager "docs"

puis allez dans le répertoire PATH_TO_SDK / docs et ouvrez index.html fichier.

1
répondu OMar Mohamed 2017-12-14 12:31:59