【发布时间】:2014-02-08 21:29:31
【问题描述】:
如何将 Android SDK 源附加到 Android Studio?
当我打开其中一个 Android 类时,没有出现带有“附加源”选项的“未找到源”窗口。
还有什么其他方法可以做到这一点?
【问题讨论】:
如何将 Android SDK 源附加到 Android Studio?
当我打开其中一个 Android 类时,没有出现带有“附加源”选项的“未找到源”窗口。
还有什么其他方法可以做到这一点?
【问题讨论】:
Android Studio 3.2.1 报告在: 通过重置SDK解决了这个问题。
首选项 -> 外观和行为 -> 系统设置 -> Android SDK。
点击 Android SDK 位置右侧的编辑。 下一步,下一步,完成完成向导,瞧!
【讨论】:
File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
art::ArtMethod::Invoke 和 StartBackgroundThread(这是用于 JNI 助手我的应用程序中的线程),但单击堆栈的 Android 部分中的任何内容都不会显示关联的源文件。我错过了什么?
从工具栏菜单中打开您的 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,工作室会帮助您找到正确的位置。
您可以阅读说明,主要说明要做什么。 所以点击“显示包详细信息”后,你会看到是否安装了源(如下图所示),如果没有安装,请安装,你很好。
【讨论】:
我无法在 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>
【讨论】:
<root type="simple" url="file://$USER_HOME$/Library/Android/sdk/sources/android-23" />
gdawg 的解决方案在 Windows 10 和 Android Studio 2.0 中也适用于我。对 jdk.table.xml 文件所在位置稍作修改
C:\Users\{USER_NAME}\.AndroidStudio2.0\config\options\jdk.table.xml
【讨论】:
不确定为什么接受的答案似乎只适用于 API 级别 19。我能够通过显式提供 SDK 的源路径来附加 API 级别 15 的 SDK 源。这是我所做的:
【讨论】:
在android studio 0.8.6(Beta) (OSX 10.9.4) 中,好像不用手动附加Sources 就可以直接查看android 源代码了。
前提是你应该在“SDK Manager”中下载“Sources for Android SDK”并重启“Android Studio”
【讨论】:
只需按照以下步骤操作:设置 --> Android SDK --> 启动独立 SDK 管理器 --> 下载您需要的 SDK 源(在每个 Anroid 版本的Sources for Android SDK 中) --> 重新启动您的 Android Studio。如果以上没有帮助,请确保您已下载所需的 SDK 源,并重置 Android SDK Location 以刷新。希望对你有帮助。
【讨论】:
我不知道 sfridman 的回答中的菜单步骤 3 指的是什么。我设法找到我感兴趣的源代码的另一种方法是在 Android Studio 提出我想深入研究的 .class 之后:
然后我可以右键单击该面包屑并选择“跳转到源”:
这样做似乎会自动找到它,可能是因为我已经通过 Android SDK 管理器安装了源代码,如其他地方所述。
【讨论】:
首先,检查你是否已经加载了源代码。
然后在settings重置Android SDK位置。
我通过上述方法解决了我的问题。
【讨论】:
唯一对我有用的是:
由于没有安装 SDK,Android Studio 会在重新启动时弹出一个向导:安装当前使用的 API 级别的 SDK 平台和源代码。
【讨论】:
在 Windows 7 上的 Android Studio 2.3.3 中,我遇到了无法识别文件夹 SDK\sources\android-26 中已下载的 API-Level 26 源文件的问题。使用 "File | Invalidate Caches / Restart" 为我解决了这个问题。
【讨论】:
对我来说,下载和刷新没有帮助。我试图选择来源,但仍然是同样的问题。所以我做了无效缓存/重启。现在它的工作。
我试图编辑 jdk.table.xml 文件,但没有 android-26 的条目,直到 android-25,所以我决定不编辑该文件。
【讨论】:
至于 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
【讨论】:
当我需要通过命令行下载平台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"。
【讨论】: