55
votes

I have already checked this post: How to download dependency sources for Gradle project in IDEA?

But it didn't work for me. Maybe it is because they are referring to IntelliJ Idea, and I am having the issue with Android Studio.

I have tried adding

apply plugin: 'idea'
idea {
    module {
        downloadJavadoc = true
        downloadSources = true
    }
}

Both to root's build.gradle file (I am in a multiproject setup) or to the application's build.gradle file.

My application's gradle file:

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
    }
}

Then, in Android Studio when I click on any method from the universalimageloader library, I get to a screen saying that there are no sources attached. If I click attach sources it shows: enter image description here

As you can see, only the lib's jar was downloaded to gradle cache. No *-sources.jar or *-javadoc.jar were downloaded. I have cleaned project, removed .gradle folder to force it to download again from maven. No luck.

I double checked that universal image loaded has sources and javadoc available in maven, so that is not the problem.

Thanks!

6
I am running Android Studio 0.1.9 (latest to date) and gradle plugin 0.4.2Monitus
Seems to work now with a simple import project. I have version 0.2.6 which includes gradle version 1.7.stigkj
@stigkj are you talking about android sources or any 3rd party library? Previously I could at least use project settings to import sources. In latest versions jar dependencies dialog is removed and I can't add it anyhow. Any ideas?mente
So, a year later, have Google done anything to address this issue yet? I don't find any questions younger than about a year regarding this topic, so either it's been fixed or it's a sore subject nobody wants to discuss.MrPlow
@MrPlow Fix of this issue is going into the AS 1.4 release. See here.naXa

6 Answers

3
votes

Currently Android Studio imports libraries with sources. As for java docs press F1.

Old answer:

As we are talking about early preview, simplest fix wins.

For now is just manually add them to the project in Project Structure dialog. Things are even worse as now Android Studio will strip module files (iml) from all dependencies which are not related to native Android Gradle configurations and tasks e.g. module has robolectric dependency and extra task and config localTest is added in build.gradle. After you open Android Studio it will remove dependency, you need to add it again.

For time being I am keeping iml files and .idea folder in my git. After launch

git checkout myproject/myproject.iml
9
votes

For Maven sources and docs the only thing I have found is to change the default settings.

File -> Other Settings -> Default Settings... -> Maven -> Importing

Checking the boxes to download Sources and Documentation settings thumb

5
votes

As we can see the answer from Xavier Ducrohet (Android SDK Tech Lead Google Inc.), as of July 26, 2013:

I don't think Gradle handles this at this point. I've talked to the devs and they are aware of it. We're looking at adding a hook in Gradle so that we can do it when the tooling API queries the model.

3
votes

Try this plugin on github. It works for me.

Update: The GitHub repo's README.md now says:

This plugin in deprecated. AndroidStudio 1.4 has this support built in.

1
votes

Unfortunately I cannot comment with my score, so:

Although this isn't an answer, if you use the 'eclipse' plugin in Gradle, you can run

gradle eclipseClasspath

And it will download all the sources and, I believe, Javadoc and create a .classpath with links to their locations.

Then, at least, you will have the sources and javadoc to reference, which I assume you can then reference in IntelliJ.

0
votes

As in 2021, I download a third party library which has sources available but Android Studio doesn't get them, neither show the docs.

I follow these steps to get and see the sources with docs on my Android Studio:

  1. Download the source package library-sources.jar manually
  2. Open a class using some class from the library and press F1 on a method to get the doc.
  3. Once decompiled source code is shown, click on "Choose Source" from the top right.
  4. Use the dialog to select the file downloaded in step 1.
  5. Close the decompiled source. Press F1 again on a library's method.