Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The Jar of this class file belongs to container 'Android Dependencies' which does not allow modifications to source attachments on its entries

I am making an email application which is giving the error in this question's title. How can I fix this problem? I am giving my codes screenshot if it is helps to find solution.

enter image description here

like image 293
Merve Avatar asked Apr 09 '12 15:04

Merve


3 Answers

There is an official solution to this:

Allow src/doc attachement for 3rd party jars in libs/

Since those jars are added dynamically through a classpath container, the devs cannot set the source path and the javadoc through Eclipse UI (container don't allow editing those). To fix this, and to make sure that both paths are picked up not only by the current project, but also by other projects (if the current project is a library project), the value is set by a file sitting next to the jar file. The file is name after the jar file, adding .properties at the end. For instance foo.jar -> foo.jar.properties It can currently contain 2 properties: src: relative or absolute path to the source folder (or archive). doc: relative or absolute path to the javadoc.

https://android-review.googlesource.com/#/c/35702/

EDIT: Explanation in Google I/O 2012 video

Example, for Joda-Time 2.1:

cd $PROJECT/libs
touch joda-time-2.1.jar.properties

And insert the following, making sure the path is correct:

src=/Users/josh.oneal/SDKs/joda-time-2.1/joda-time-2.1-sources.jar
doc=/Users/josh.oneal/SDKs/joda-time-2.1/joda-time-2.1-javadoc.jar

You can now right click your project in Eclipse and refresh, then Command / Ctrl + Click a class such as DateTime to view its source.

like image 173
WindRider Avatar answered Nov 14 '22 17:11

WindRider


Seems to be something they intentionally broke in ADT r17. See http://code.google.com/p/android/issues/detail?id=27490#c6.

like image 20
Andy Dennie Avatar answered Nov 14 '22 16:11

Andy Dennie


When you use eclipse, you can fix it by selecting your library project and go to Properties > Order and Export and move your src dependency above the gen dependency. You can also manually edit your .classpath file to do the same. Source attachments should work after you clean this project. Credits for figuring out the solution goes to NightCrawler

like image 10
Cristan Avatar answered Nov 14 '22 15:11

Cristan