【问题标题】:Android Studio: how to attach Android SDK sources?Android Studio:如何附加 Android SDK 源?
【发布时间】:2014-02-08 21:29:31
【问题描述】:

如何将 Android SDK 源附加到 Android Studio?

当我打开其中一个 Android 类时,没有出现带有“附加源”选项的“未找到源”窗口。

还有什么其他方法可以做到这一点?

【问题讨论】:

    标签: android android-studio


    【解决方案1】:

    Android Studio 3.2.1 报告在: 通过重置SDK解决了这个问题。

    首选项 -> 外观和行为 -> 系统设置 -> Android SDK。

    点击 Android SDK 位置右侧的编辑下一步,下一步,完成完成向导,瞧!

    【讨论】:

    • @0xF Windows(Linux?)的文件/设置,Mac 的首选项。添加了外观和行为,非常感谢。完全错过了。
    • @AlexanderMayatsky 文件/设置在 Linux 上。
    • 在 Linux 上是:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
    • 遇到了文档未显示的相同问题。这解决了最新的稳定版本 3.1.4。
    • 这对我不起作用。我已经下载了 compileSdkVersion 28 的源代码,并且我的 build.gradle 也有 targetSdkVersion 28,当我在调试器中运行我的应用程序时,我可以看到各种各样的东西,例如 art::ArtMethod::InvokeStartBackgroundThread(这是用于 JNI 助手我的应用程序中的线程),但单击堆栈的 Android 部分中的任何内容都不会显示关联的源文件。我错过了什么?
    【解决方案2】:

    从工具栏菜单中打开您的 sdk 管理器,并为您的 build.gradle 文件中定义的 API 级别下载“Android SDK 源”,例如

    compileSdkVersion 19 // compile with API level 19
    

    没有其他事情需要做。

    注意: SDK 的源代码仅适用于 API 级别 14 及以上。

    更新(基于稳定版 3.2.1):

    Google 改变了发送源代码的方式,让我们看看发生了什么变化。

    前往以下位置

    Preferences -> Apperance & Behaviour -> System Settings -> Android SDK
    

    懒得在搜索中输入SDK,工作室会帮助您找到正确的位置。

    您可以阅读说明,主要说明要做什么。 所以点击“显示包详细信息”后,你会看到是否安装了源(如下图所示),如果没有安装,请安装,你很好。

    【讨论】:

    • @takumar,这是因为 SDK 的源目前不适用于 Android API 20。我确信当 Android “L” 预览版出来时,源将在 SDK 管理器中可用.
    • 下载源代码后,我需要重新启动 Android Studio 以使其工作
    • 如果您在比 compileSdkVersion 更旧的版本上进行调试,源代码将不匹配。
    • 我会将 Sathesh 的评论添加到解决方案中。看起来很多人不得不重新开始,我也是。
    • 您需要勾选“显示包详细信息”复选框才能找到“Android 源...”条目
    【解决方案3】:

    我无法在 osx 上的 v8.11 中找到上述 gui 选项,但是 grep-fu 告诉我:

    配置存储在~/Library/Preferences/AndroidStudioBeta/options/jdk.table.xml

    编辑此文件后(Studio 停止)并重新启动源映射对我来说效果很好。

    diff --git a/options/jdk.table.xml b/options/jdk.table.xml
    index 0112b91..33828b8 100644
    --- a/options/jdk.table.xml
    +++ b/options/jdk.table.xml
    @@ -76,7 +76,7 @@
             </javadocPath>
             <sourcePath>
               <root type="composite">
    -            <root type="simple" url="file:///Applications/Android Studio.app/sdk/sources/android-19" />
    +            <root type="simple" url="file:///Users/tehdawgz/dev/android-sdk/sources/android-19" />
               </root>
             </sourcePath>
           </roots>
    

    【讨论】:

    • AndroidStudio 2.1.2 在 Mac OS 上。以下对我有用:&lt;root type="simple" url="file://$USER_HOME$/Library/Android/sdk/sources/android-23" /&gt;
    • 为我工作。 Ubuntu 14.04/Android Studio 2.2。我使用了'locate jdk.table.xml',在我的例子中是~/.AndroidStudio2.2/config/options/jdk.table.xml。有趣的是,似乎在这个过程中的某个时刻,某些东西用“file://$USER_HOME$...”替换了我的绝对路径??无论如何,在我修复文件后,事情就开始起作用了。
    【解决方案4】:

    对于我在 2016/08/29 运行 android studio 2.1.3:

    在发布源代码之前,我已经下载并正在针对 api 24 进行编译。既然它们已经被释放,我想指出源头。在 SDK 管理器中下载源代码后重新启动 Android Studio 无效。

    我必须像要在 SDK 管理器中编辑 SDK 位置一样行事,当我这样做时,我只需通过对话框单击“下一步”并自动重新索引 sdk 内容。

    【讨论】:

      【解决方案5】:

      gdawg 的解决方案在 Windows 10 和 Android Studio 2.0 中也适用于我。对 jdk.table.xml 文件所在位置稍作修改

      C:\Users\{USER_NAME}\.AndroidStudio2.0\config\options\jdk.table.xml

      【讨论】:

        【解决方案6】:

        不确定为什么接受的答案似乎只适用于 API 级别 19。我能够通过显式提供 SDK 的源路径来附加 API 级别 15 的 SDK 源。这是我所做的:

        1. 确保我已下载所需的 SDK 源并使用所需的 API 级别设置我的 build.gradle。
        2. 在左侧的“项目”窗口中,选择“外部库”下拉菜单。
        3. 右键单击菜单项并选择打开库设置。
        4. 点击 Sourcepath 选项卡并使用左下角的 + 图标链接到所需的 SDK 源(应该在 something/sdk/sources 中)

        【讨论】:

        • >右键单击菜单项并选择打开库设置。 - 你在哪里找到的?
        • 此菜单项似乎不再可用。在普通的 InteliJ 中有一些方法可以做到这一点。
        【解决方案7】:

        在android studio 0.8.6(Beta) (OSX 10.9.4) 中,好像不用手动附加Sources 就可以直接查看android 源代码了。

        前提是你应该在“SDK Manager”中下载“Sources for Android SDK”并重启“Android Studio”

        【讨论】:

          【解决方案8】:

          只需按照以下步骤操作:设置 --> Android SDK --> 启动独立 SDK 管理器 --> 下载您需要的 SDK 源(在每个 Anroid 版本的Sources for Android SDK 中) --> 重新启动您的 Android Studio。如果以上没有帮助,请确保您已下载所需的 SDK 源,并重置 Android SDK Location 以刷新。希望对你有帮助。

          【讨论】:

            【解决方案9】:

            我不知道 sfridman 的回答中的菜单步骤 3 指的是什么。我设法找到我感兴趣的源代码的另一种方法是在 Android Studio 提出我想深入研究的 .class 之后:

            然后我可以右键单击该面包屑并选择“跳转到源”:

            这样做似乎会自动找到它,可能是因为我已经通过 Android SDK 管理器安装了源代码,如其他地方所述。

            【讨论】:

              【解决方案10】:

              首先,检查你是否已经加载了源代码。

              然后在settings重置Android SDK位置。

              我通过上述方法解决了我的问题。

              【讨论】:

                【解决方案11】:

                唯一对我有用的是:

                • 打开 Android SDK 管理器(工具 -> Android -> SDK 管理器 -> 启动独立 SDK 管理器)
                • 卸载所有 SDK 平台Android SDK 源(从所有 API 级别)
                • 重启 Android Studio

                由于没有安装 SDK,Android Studio 会在重新启动时弹出一个向导:安装当前使用的 API 级别的 SDK 平台和源代码。

                【讨论】:

                  【解决方案12】:

                  在 Windows 7 上的 Android Studio 2.3.3 中,我遇到了无法识别文件夹 SDK\sources\android-26 中已下载的 API-Level 26 源文件的问题。使用 "File | Invalidate Caches / Restart" 为我解决了这个问题。

                  【讨论】:

                    【解决方案13】:

                    对我来说,下载和刷新没有帮助。我试图选择来源,但仍然是同样的问题。所以我做了无效缓存/重启。现在它的工作。

                    我试图编辑 jdk.table.xml 文件,但没有 android-26 的条目,直到 android-25,所以我决定不编辑该文件。

                    【讨论】:

                      【解决方案14】:

                      至于 09/08/2019 有可用的此类来源

                      sources;android-15
                          Description:        Sources for Android 15
                          Version:            2
                      
                      sources;android-16
                          Description:        Sources for Android 16
                          Version:            2
                      
                      sources;android-17
                          Description:        Sources for Android 17
                          Version:            1
                      
                      sources;android-18
                          Description:        Sources for Android 18
                          Version:            1
                      
                      sources;android-19
                          Description:        Sources for Android 19
                          Version:            2
                      
                      sources;android-20
                          Description:        Sources for Android 20
                          Version:            1
                      
                      sources;android-21
                          Description:        Sources for Android 21
                          Version:            1
                      
                      sources;android-22
                          Description:        Sources for Android 22
                          Version:            1
                      
                      sources;android-23
                          Description:        Sources for Android 23
                          Version:            1
                      
                      sources;android-24
                          Description:        Sources for Android 24
                          Version:            1
                      
                      sources;android-25
                          Description:        Sources for Android 25
                          Version:            1
                      
                      sources;android-26
                          Description:        Sources for Android 26
                          Version:            1
                      
                      sources;android-27
                          Description:        Sources for Android 27
                          Version:            1
                      
                      sources;android-28
                          Description:        Sources for Android 28
                          Version:            1
                      

                      您可以通过./pathtoandroidsdk/tools/bin/sdkmanager --list --verbose --no_https列出它们

                      例如通过./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28"安装

                      Android Studio 中无需下载

                      Android Studio 中的设置说明

                      在应用程序build.gradle 中设置正确版本的 sdk,其中将包含所需的源

                      android {
                          compileSdkVersion 28
                          ...
                      

                      要应用更改 - 重新启动 IDE

                      【讨论】:

                        【解决方案15】:

                        当我需要通过命令行下载平台android 28时,我刚刚遇到了类似的问题,我看到了运行命令./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28"的答案。

                        但实际上,从developer.android.com,它显示一个例子为sdkmanager "platform-tools" "platforms;android-28",所以我猜应该是./pathToAndroidSdk/tools/bin/sdkmanager "platforms;android-28"

                        【讨论】:

                          【解决方案16】:

                          分享,因为我花了一段时间才意识到:目前(2020 年 8 月)API 级别 30 没有可用的源(SDK 管理器中没有这样的选项)。我将我的应用程序更改为面向 API 级别 29(而不是 30),并确保下载版本 29 的源代码并且它可以正常工作。

                          确保“显示包详细信息”已打开,以查看源是否可用于您所定位的 SDK 版本。

                          此外,现在可以使用“工具 -> SDK 管理器”而不是“文件 -> 设置 -> 等...”。

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2015-08-09
                            • 1970-01-01
                            • 2016-01-26
                            • 2015-07-22
                            • 1970-01-01
                            • 2013-05-11
                            相关资源
                            最近更新 更多