How to make Android Studio download dependencies sources and javadoc?

AndroidMavenGradleAndroid Studio

Android Problem Overview


I have already checked this post: https://stackoverflow.com/questions/12718753/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!

Android Solutions


Solution 1 - Android

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

Solution 2 - Android

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.

Solution 3 - Android

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

Solution 4 - Android

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.

Solution 5 - Android

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.

Solution 6 - Android

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.

Solution 7 - Android

For me the issue was due to Build Variants was set to release, so gradle tried to find aar for corresponding dependency. Switching Active Build Variant to debug solved the issue and Android studio downloaded all source dependencies itself.

View | Tool Windows | Build Variants | Active Build Variant

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMonitusView Question on Stackoverflow
Solution 1 - AndroidVictor HäggqvistView Answer on Stackoverflow
Solution 2 - AndroidAbi-View Answer on Stackoverflow
Solution 3 - AndroidrobotoasterView Answer on Stackoverflow
Solution 4 - Androidmisaka-10032View Answer on Stackoverflow
Solution 5 - Androidmmm111mmmView Answer on Stackoverflow
Solution 6 - AndroidRobertoAllendeView Answer on Stackoverflow
Solution 7 - AndroiduptoyouView Answer on Stackoverflow