【问题标题】:No reference documentation in Android StudioAndroid Studio 中没有参考文档
【发布时间】:2018-08-23 15:17:00
【问题描述】:

昨天突然出现一个新问题。当我将鼠标悬停在某个方法上或按 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)

我搜索了很多,但找不到答案。 我需要添加哪些路径以及添加位置?

【问题讨论】:

    标签: java android-studio editor documentation


    【解决方案1】:

    注意:从 AS 3.6.2(或者,也许更早)开始,这无关紧要,不回答问题。

    旧 Android Studio 版本的答案:

    您必须从 SDK Manager 下载 Android SDK 文档

    【讨论】:

    • 这似乎不是我在 Android Studio 3.6.2 中的选项
    • 如何在 4.0 中做到这一点?
    • 谷歌的好人似乎又一次改变了事情,使这个答案不再有用。对 Google 的“修复”有何修复?
    • 对我来说似乎也很糟糕 - 在这里使用 Android Studio 4.0
    • 没有这样的复选框了stackoverflow.com/questions/63409366/…
    【解决方案2】:

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

    1. 转到 工具 > SDK 管理器
    2. 检查显示包裹详情
    3. 查看是否选中了Sources for Android 30

    【讨论】:

      【解决方案3】:

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

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

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

      附:目标构建是build.gradle 文件中的compileSdkVersion 设置。

      【讨论】:

        【解决方案4】:

        这是一个适用于 Android Studio 4.0 的解决方案。这有点 hacky 并且依赖于让 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(取决于您的 compile sdk 在 build.gradle(app) 中设置的版本)”之类的句子。可以选择下载源代码或刷新(如果您已经下载)。显然下载,它应该会带来一个名为 SDK Quick-fix 的弹出窗口,并且应该下载源代码。完成后,您可以单击刷新,几分钟后(需要一段时间)您的文档应该会恢复!

        希望一切顺利!

        【讨论】:

          【解决方案5】:

          对于所有使用 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
            }
          }
          

          文档现在可以工作了。 希望这行得通!

          【讨论】:

            【解决方案6】:

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

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

            1. Appearance & Behavior > System Setting > Android SDK (或 shift+shift “SDK 管理器”)

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

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

            Android SDK Settings "Show Package Details" highlighted

            【讨论】:

            • 您可以通过工具栏中的SDK Manager 按钮或工具菜单中的SDK Manager 命令快速到达那里,或者点击两次Shift 键然后输入SDK Manager 以搜索该操作. 但是“Android API 32”仍然无法使用“Sources”。如何链接到它的 API 文档?
            猜你喜欢
            • 2022-01-15
            • 2020-12-04
            • 2011-04-13
            • 1970-01-01
            • 2021-07-17
            • 2016-03-03
            • 2012-07-30
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多