如何让 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?的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 4.0.0以上中如何添加依赖包下载好的RecyclerView

如何在Android Studio中使用Maven

Android studio下载依赖包很慢

APK 大小比预期的要大 - android studio

怎么让android studio的编译的aar防止反编译

android studio没有下载源代码和javadoc