【问题标题】:How to make Android Studio download dependencies sources and javadoc?如何让 Android Studio 下载依赖源和 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

标签: android maven gradle android-studio


【解决方案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 上获取和查看带有文档的源代码:

      1. 手动下载源码包 library-sources.jar
      2. 使用库中的某个类打开一个类,然后在方法上按 F1 以获取文档。
      3. 显示反编译的源代码后,点击右上角的“Choose Source”。
      4. 使用对话框选择在步骤 1 中下载的文件。
      5. 关闭反编译的源代码。在库的方法上再次按 F1。

      【讨论】:

        【解决方案7】:

        对我来说,问题是由于 Build Variants 设置为 release,所以 gradle 试图找到 aar 以获取相应的依赖项。将 Active Build Variant 切换到 debug 解决了这个问题,Android studio 下载了所有 source 依赖项本身。

        View | Tool Windows | Build Variants | Active Build Variant

        【讨论】:

          猜你喜欢
          • 2014-11-11
          • 2013-06-03
          • 2011-10-15
          • 2013-12-17
          • 2017-11-21
          • 2021-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多