Android Studio 中没有参考文档

No reference documentation in Android Studio

昨天突然出现一个新问题。当我将鼠标悬停在某个方法上或按 Ctrl-Q 时,我通常会获取该特定方法的文档信息。

但现在我得到了(在 SharedPreferences.getLong() 上按 Ctrl-Q):

Following external urls were checked:
            http://developer.android.com/reference/android/content/SharedPreferences.html#getLong-java.lang.String-long-
            http://developer.android.com/reference/android/content/SharedPreferences.html#getLong(java.lang.String, long) 

    The documentation for this element is not found. Please add all the needed paths to API docs in Project Settings.
        android.content.SharedPreferences
        public abstract long getLong(String s, long l)

我用谷歌搜索了很多,但找不到答案。 我需要添加哪些路径以及在哪里?

注意:从 AS 3.6.2 开始(或者,可能更早),这是无关紧要的,不会回答问题。

旧 Android Studio 版本的答案:

您必须从 SDK 管理器下载 Android SDK 的文档

在Android Studio 4.1.1 中,我通过为我的编译版本安装Android SDK 平台解决了这个问题。就我而言,那是 Android 10.0(API 级别 29)。

  1. 打开文件>设置打开设置window。
  2. 转到 外观和行为 > 系统设置 > Android SDK
  3. Select 您在 SDK 平台选项卡中构建的目标(例如,Android 10.0)。
  4. 点击确定安装SDK平台。

安装完成后,检查文档弹出窗口是否恢复。

P.S。目标版本是 build.gradle 文件中的 compileSdkVersion 设置。

这是一个适用于 Android Studio 4.0 的解决方案。它有点老套,依赖于让 Android Studio 意识到它缺少您当前使用的 SDK 的源文件。这就是我所做的:

警告:它是 hacky,可能看起来不合逻辑,但它有效!

创建HashMap(Kotlin用户自行搜索文档,大概可以关注) Map<String, String> testMap = new HashMap<>(); 然后向 Hashmap 添加任何随机的东西:testMap.put("test", "test");

现在是重要的部分。 将光标放在上面调用的 put() 方法上,按住 ctrl + bcmd+b for mac users 进入定义。然后它会询问您是否要反编译字节码,然后单击“稍后决定”。当它打开时,你应该在顶部看到一个句子,类似“无法找到 Android API 的源代码:xx(取决于你的编译 sdk 在 [=25 中设置的版本=](app))”还有一个选项可以下载源代码或刷新(如果您已经下载)。显然是下载,它应该会带来一个名为 SDK Quick-fix 的弹出窗口,并且应该下载源代码。完成后,您可以单击刷新,几分钟后(这需要一段时间)您应该恢复了您的文档!

希望一切顺利!

对于所有使用 Android 4.1.1 或更高版本的人,我在 API 级别 30 中发现了这个错误。也许将来会解决。

首先确保您已经安装了最新且稳定的 Android 可用的 SDK。 (目前 API 29 级)。

目前,在 build.gradle(app) 中,我更改了:

android {
  compileSdkVersion 30
  // other code

  defaultConfig {
    targetSdkVersion 30
    // other code
  }
}

至:

android {
  compileSdkVersion 29
  // other code

  defaultConfig {
    targetSdkVersion 29
    // other code
  }
}

文档现在可以使用了。 希望这有效!

所以对我来说 Android Studio 4.1.1 中的解决方案是我忘记下载 SDK 30 的源代码。

  1. 转到工具 > SDK 管理器
  2. 勾选显示包裹详情
  3. 查看 Android30 的来源是否已选中

我(再次)很难找到“显示包裹详细信息”复选框,所以我附上了一张照片。

您需要下载目标 SDK 版本的源代码。

  1. 外观和行为 > 系统设置 > Android SDK(或 shift+shift “SDK 管理器”)

  2. 在“SDK 平台”选项卡上,选中“显示包详细信息”框 右下角。

  3. 选中您要定位的 Android 版本的框,点击“确定”即可 下载。

Android SDK Settings "Show Package Details" highlighted