Android Studio 快速文档总是“获取文档”

我刚从 Eclipse 迁移到 Android Studio,发现当我使用快速文档(Ctrl + Q)时,它总是显示“获取文档”。

我怎样才能解决这个问题? 我下载了 API 19的文档,但问题依然存在。

enter image description here

19986 次浏览

I found a solution.

  1. Close the android studio and delete the c:\Users\xxx.AndroidStudioBeta\ (in my case)
  2. Change the android sdk path name
  3. Open the android studio, it will ask for the sdk path

Now you can change back the sdk path or using the new sdk path.

You will find Ctrl+Q will work fine. (Don't import old setting)

I think we need download the sdk document before set the sdk path to Android studio. But the Android studio should handle this case or give us a option to set it.

I meet the same issue too,but I solved it just now. I used the Android Studio with SDK before I solved it,and then I download a Android Studio Zip without SDK,and run it,and the issue disappeared. You can try it.

UPDATE: out-of-date, please check @Htea's answer.

I was having the same issue as you. Here's what fixed it for me:

  • Make sure you have the Documentation package downloaded in SDK Manager.
  • Exit Studio if it's running.
  • Delete the file named "jdk.table.xml" located in ~/.AndroidStudioX.Y/config/options/ (remember to take a backup first!).
  • Relaunch Android Studio. should work correctly now and it should regenerate the file automatically.

Note:

  • This worked for me on Ubuntu 14.04 & Android Studio 0.8.11 (EDIT: Several users are reporting this solution also works for newer versions of Android Studio).
  • If it still doesn't work, try deleting and re-downloading the Documentation package from inside Android SDK Manager then try the above steps.
  • If you're running Windows, the file is located at "%UserProfile%.AndroidStudio\config\options", and if you're running OS X, it's located at "~/Library/Preferences/AndroidStudio/options" (credits to @Gero and @Alex Lipov).

Hope it helps.

I also found this issue with Android studio 0.8.9 & 0.8.14, here's a simple solution:

File -> Invalid Caches/Restart -> Invalidate and Restart


Sometimes the documentation package may be missing or not up-to-date.

Try open the Android SDK manager(Tool->Android->SDK Manager) and install the 'Documentation for Android SDK' in the latest release, for now it's Android 5.0(API 21), then restart Android studio.

If this happens again, just invalidate the caches.

The problem is Android Studio does not automatically update the source link of reference even when the documentation is already downloaded.

The default link in jdk.table.xml is http://developer.android.com/reference/ (android studio tries to connect to this online server even if the network is blocked).

To solve the problem, we can just redirect the reference to local source.

MacOS

On MacOS, the config file jdk.table.xml is under ~/Library/Preferences/AndroidStudio<version>/options/, and the docs are here: ~/Library/Android/sdk/docs/, or the custom path of your Android SDK.

In jdk.table.xml, find all the lines:

<root type="simple" url="http://developer.android.com/reference/">

and modify them to

<root type="simple" url="file://$USER_HOME$/Library/Android/sdk/docs/reference/">

Windows

On Windows, the file jdk.table.xml is under C:\Users\Name\.AndroidStudio<version>\config\options

In AndroidStudio 3.3, modify to

<root type="simple" url="file://$USER_HOME$/AppData/Local/Android/sdk/docs/reference"  />

Android Studio (any os)

Then, in File -> Invalidate Caches / Restart… select Invalidate, and retry using Quick Documentation. It should display instantly. If it doesn't, select Invalidate and Restart, and you should be good to go.

As other answers said, it's because the Android Studio is trying to fetch the javadoc online (from http://developer.android.com/reference/), which will be very slow if the network not good, especially in China because google is blocked. So we should change this setting and let Android Studio fetch javadoc locally:

  1. Download Android SDK Documentation using the Android SDK Manager.
  2. Open the file ~/Library/Preferences/AndroidStudio2.2/options/jdk.table.xml, see notes below to make sure the correct file is edited.
  3. In the file jdk.table.xml, replace all http://developer.android.com/reference/ to the path to your sdk reference folder. For example file://$USER_HOME$/tools/adt-bundle-mac/sdk/docs/reference on my Mac.

On OS X, if you have used several versions of Android Studio, there may be several configuration folders for each version (under ~/Library/Preferences/), you should change the jdk.table.xml in the right folder, in my case I should edit jdk.table.xml under the folder AndroidStudio2.2.

OS X screenshot

Go to: Tools > Android > SDK Manager. Select SDK Tools tab and:

  1. if Documentation for Android SDK is unchecked, check it and click apply
  2. If Documentation for Android SDK is checked, uncheck it and click apply. After uninstall completes check it again and click apply.

On Windows

File location of jdk.table.xml

C:\Users\[your windows user name]\.AndroidStudio2.3\config\options\jdk.table.xml

Notes

  • "." before AndroidStudio directory
  • version number after ".AndroidStudio". Be sure to edit the version number of Android Studio you're currently using. Previous versions will still have directories here as well.

Line to edit

Before

<root type="simple" url="http://developer.android.com/reference/" />

After

<root type="simple" url="file://C:/Android/sdk/docs/reference" />

Notes

  • C:/Android/sdk/docs/reference replace with Android SDK location on your machine
  • if you're copy/pasting location from File Explorer, replace backslashes (\) with forward slashes (/)
  • Each installed Android SDK version will have its own docs XML entry
  • Edit the line above in each SDK version found in jdk.table.xml (if you want quick docs when targeting those versions in build.gradle). e.g. If you have Android SDK API 25 installed, you'd find a section to edit under <name value="Android API 25 Platform" />

Invalidate Caches / Restart after change!

File -> Invalidate Caches / Restart...

For a quick workaround edit /etc/hosts (or C:\Windows\System32\Drivers\etc\hosts) file and add the line:

0.0.0.0 developer.android.com

This will prevent it but you can comment it out when you need to fetch the latest or ones not cached or read the docs online.

you can disable it, in Android Studio Preference

Android Studio -> Preference -> Editor -> General -> Code Completion -> Show the documentation pupup in XX ms

enter image description here

see my another answer Link

UPDATE: From unknown exactly version, just simply download Android Documentation in SDK Manager could fix the problem. My 3.4.1 do so.

But I don't know whether older version could works as well or not.

For android studio 3.4, all you need to do is go to sdk manager -> SDK Tools, check "Documentation for Android SDK" and click apply.

It will automatically update the jdk.table.xml to point to the source you have downloaded.

The reason for me was that I had not downloaded sources for my SDK version defined by compileSdkVersion property in the build file (now called compileSdk in AGP 7.0.0).

So, in Android Studio 4.0 and higher do this:

Go to Settings 🡲 Android SDK 🡲 SDK Platforms tab 🡲 select Show Package Details checkbox at the bottom 🡲 under your target API Android section check the Sources for Android xx 🡲 click Ok and wait for the download to finish.

The image showing how to do this

Thanks to Cyn45 for their answer.