Как использовать Android SDK Documentation в автономном режиме

Я загрузил Android SDK Documentation с помощью SDK Manager, чтобы использовать его в Android Studio v2.3.0.8, в автономном режиме.

Но каждый раз, когда я нажимаю ctrl + q, чтобы отображать краткую информацию о типе type-type, он показывает "Fetching Documentation...", и после ожидания ~ 20s он показывает информацию.

Мне не нужна эта задержка или использование онлайн-справки, и локальные документы на месте, так почему? И какое решение?

Изменение: Это происходит, когда я в сети, но без задержки, когда я в автономном режиме. Как будто IDE пытается получить новую версию документов.

Ответ 1

Улучшенное решение для отображения документации (из источников).

Найдено, что если вы загружаете документацию через диспетчер SDK (он будет расположен в .../sdk/docs/reference), вы собираетесь использовать only 24 API documentation. (Представьте, что ваш целевой SDK проекта - 25 или 22, например).

Only 24 API in downloaded documentation

Чтобы исправить это, вам необходимо:

  1. Удалите документацию через менеджер SDK в Android Studio. Delete documenattion in SDK manager
  2. Прямо там, загрузите источники для заинтересованных API (источники уже содержат документацию). Также я обнаружил, что сбор documentation from sources немного быстрее по сравнению с автономным внутри внутри .../sdk/docs/reference. Download sources via SDK manager for interested APIs
  3. Удалите все javadoc-пути из jdk.table.xml. Путь к этому файлу в 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. Перезагрузите Studio. Наслаждайтесь!

Ответ 2

Я также загрузил его, и я заметил, что Android Studio не сгенерировала javadocPath правильно в jdk.table.xml, как выглядит файл (часть с тегом jdk с названием 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>
      ...

Файл находится в Android Studio Configuration folder /config/options/jdk.table.xml

Обратите внимание, что javadocPath указывает на онлайн-адрес, просто измените его на свою локальную копию, в моем случае папка docs находится в /home/mauricio/android-sdk/docs, в Windows что-то вроде C: /android-sdk/docs.

Структура URL-адреса, которую вы должны соблюдать, является file://<path-to-sdk>/docs/reference

Вы должны указать на reference папку внутри документов.

Это будет выглядеть примерно так:

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

Затем, если он запустится, перезапустите Android Studio и все сделайте.
У меня также есть SSD, и автономная документация мгновенно открывает его.

Примечание. Вы должны сделать это во всех javadocPath в файле (довольно просто, используя Replace all в любом текстовом редакторе), и когда вы загружаете новый Android API, вам нужно сделать это снова, потому что он генерирует URL-адрес, указывающий на онлайн-документы,


Я думаю, что это ошибка в Android Studio, потому что sourcePath и classPath обнаружены и сгенерированы правильно. Это стоит сообщить им.

Ответ 3

Для инструментов sdk v26, используя командную строку:

PATH_TO_SDK/tools/bin/sdkmanager "docs"

Затем перейдите в каталог PATH_TO_SDK/docs и откройте файл index.html.