How to make Android Studio download dependencies sources and javadoc?
AndroidMavenGradleAndroid StudioAndroid 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:
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
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:
- Download the source package library-sources.jar manually
- Open a class using some class from the library and press F1 on a method to get the doc.
- Once decompiled source code is shown, click on "Choose Source" from the top right.
- Use the dialog to select the file downloaded in step 1.
- 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