如何让 Android Studio 下载依赖源和 javadoc?
Posted
技术标签:
【中文标题】如何让 Android Studio 下载依赖源和 javadoc?【英文标题】:How to make Android Studio download dependencies sources and javadoc? 【发布时间】:2013-06-29 21:10:11 【问题描述】:我已经查看了这篇文章: How to download dependency sources for Gradle project in IDEA?
但这对我不起作用。也许是因为他们指的是 IntelliJ Idea,而我遇到了 android Studio 的问题。
我已经尝试添加
apply plugin: 'idea'
idea
module
downloadJavadoc = true
downloadSources = true
到 root 的 build.gradle 文件(我在一个多项目设置中)或应用程序的 build.gradle 文件。
我的应用程序的 gradle 文件:
buildscript
repositories
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:0.4.2'
repositories
mavenCentral()
dependencies
compile files('libs/android-support-v4.jar')
compile 'com.nostra13.universalimageloader:universal-image-loader:1.8.4'
android
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig
minSdkVersion 7
targetSdkVersion 16
然后,在 Android Studio 中,当我单击universalimageloader 库中的任何方法时,我会进入一个屏幕,提示没有附加源。如果我单击附加源,它会显示:
如您所见,只有 lib 的 jar 被下载到 gradle 缓存中。没有下载 *-sources.jar 或 *-javadoc.jar。我已经清理了项目,删除了 .gradle 文件夹以强制它再次从 maven 下载。没有运气。
我仔细检查了加载的通用图像在 maven 中是否有可用的源和 javadoc,所以这不是问题。
谢谢!
【问题讨论】:
我正在运行 Android Studio 0.1.9(最新版本)和 gradle 插件 0.4.2 现在似乎可以使用一个简单的导入项目。我有 0.2.6 版,其中包括 gradle 1.7 版。 @stigkj 您是在谈论 android 资源还是任何 3rd 方库?以前我至少可以使用项目设置来导入源。在最新版本中,jar 依赖项对话框已被删除,无论如何我都无法添加它。有什么想法吗? 那么,一年后,谷歌有没有采取措施解决这个问题?我没有发现任何关于这个话题不到一年的问题,所以要么它已经修复,要么它是一个没人愿意讨论的痛苦话题。 @MrPlow 此问题的修复将进入 AS 1.4 版本。见here。 【参考方案1】:对于 Maven 源和文档,我发现的唯一一件事就是更改默认设置。
File -> Other Settings -> Default Settings... -> Maven -> Importing
选中复选框以下载源代码和文档
【讨论】:
终于有一个干净的解决方案了,谢谢!对于非 maven 库,一种可能性是使用本地 maven 存储库并将所需的带有 javadoc 的 jar 文件放在那里。 我的 android studio 在项目设置或首选项中没有“Maven”,在 Mac 中,AS 2.3.3【参考方案2】:我们可以看到answer from Xavier Ducrohet (Android SDK Tech Lead Google Inc.),截至 2013 年 7 月 26 日:
我认为 Gradle 目前无法处理这个问题。我已经和开发人员谈过了,他们知道这一点。我们正在考虑在 Gradle 中添加一个钩子,以便在工具 API 查询模型时执行此操作。
【讨论】:
【参考方案3】:目前 Android Studio 会导入带有源的库。至于java docs按F1。
旧答案:
当我们谈论早期预览时,最简单的修复会胜出。
现在只是在项目结构对话框中手动将它们添加到项目中。情况更糟,因为现在 Android Studio 将从所有与原生 Android Gradle 配置和任务无关的依赖项中剥离模块文件 (iml),例如模块具有 robolectric 依赖项和额外任务,并且在 build.gradle 中添加了配置 localTest。打开 Android Studio 后,它会删除依赖项,您需要重新添加它。
我暂时将 iml 文件和 .idea 文件夹保存在我的 git 中。上线后
git checkout myproject/myproject.iml
【讨论】:
您好robotoaster,您的意思是我的问题没有解决方案吗?所以 Android Studio 现在有问题,必须等待他们修复它? 是的,但谷歌在这方面非常活跃,因此可以随时修复。 虽然它不能解决我的问题,但问题似乎出在 Android Studio 上,目前它有问题或不完整,所以至少我现在有 robotoaster 技巧作为解决方法。跨度> 已经1年多了,这个问题依然存在。您还有其他解决方案吗? > "Android Studio 使用源导入库" 你确定吗?【参考方案4】:试试this plugin on github。它对我有用。
更新: GitHub 存储库的 README.md 现在显示:
此插件已弃用。 AndroidStudio 1.4 内置了这种支持。
【讨论】:
【参考方案5】:很遗憾,我无法评论我的分数,所以:
虽然这不是答案,但如果你在 Gradle 中使用 'eclipse' 插件,你可以运行
gradle eclipseClasspath
它会下载所有源代码,我相信还有 Javadoc,并创建一个带有指向其位置的链接的 .classpath。
然后,至少,您将拥有要引用的源代码和 javadoc,我假设您可以在 IntelliJ 中引用它们。
【讨论】:
尝试了这种解决方法,但它并没有真正奏效。 (.classpath
已创建但没有路径。)【参考方案6】:
与 2021 年一样,我下载了一个第三方库,该库有可用的资源,但 Android Studio 没有,也没有显示文档。
我按照以下步骤在我的 Android Studio 上获取和查看带有文档的源代码:
-
手动下载源码包 library-sources.jar
使用库中的某个类打开一个类,然后在方法上按 F1 以获取文档。
显示反编译的源代码后,点击右上角的“Choose Source”。
使用对话框选择在步骤 1 中下载的文件。
关闭反编译的源代码。在库的方法上再次按 F1。
【讨论】:
【参考方案7】:对我来说,问题是由于 Build Variants
设置为 release
,所以 gradle 试图找到 aar
以获取相应的依赖项。将 Active Build Variant
切换到 debug
解决了这个问题,Android studio
下载了所有 source
依赖项本身。
View | Tool Windows | Build Variants | Active Build Variant
【讨论】:
以上是关于如何让 Android Studio 下载依赖源和 javadoc?的主要内容,如果未能解决你的问题,请参考以下文章