解决 Eclipse 中 Android.jar 无法关联源代码的办法

在 Eclipse 中一般的 jar 包在(F3 或 Ctrl + Click) 进到它的 Class 时,如果没有关联上源代码会有一个按钮让你关联下就可以查看源代码。可是在 Eclipse 中的 android.jar 中的类,却只会提示

Source not found
The JAR of this class file belongs to container 'Android 1.6' which does not allow modifications to source attachments on its entries.

也就是正常渠道关联不上源代码,那使用手动来引入 android.jar,用传统的方式来关联源代码如何,源码是能看到了,可是出现个错误。还是 Google 下吧,找到了 Browsing Android Source in Eclipse,他给我们提供了两种解决办法:

#Solution 1

把源代码解压到 android.jar 所在目录的 sources 子目录中,sources 要自己创建,看起来目录层次如下:

完后重启 Eclipse 后,点击了 Android 的 class 后就会显示出它所对应的源程序来:

Android attach source

Android sdk 的源代码你可以使用 Git 自己下载,也可从 Android SDK Source Code下载地址 下载别人打好包的源码。

#Solution 2

为你的 Android 项目引入外部 jar 的方式把 android.jar 加到 classpath 中去,那么这个外部的 android.jar 就可以关联上源代码。可是此时项目有两个 android.jar,编译时也只会认一开始那个 android.jar,所以还是关联不上源码。

Android Eclipse

现在把创建 Android 工程带的那个 Android 1.6 移除掉,OK 源代码是能够关联上,可是项目会出现一个 Error:

Description    Resource    Path    Location    Type
Conversion to Dalvik format failed with error 1    TestAndroid        Unknown    Android ADT Problem

反正我是照着 Browsing Android Source in Eclipse 第二个方案来做的,项目无法运行,不知道谁有这相应的解决办法。

不管怎么说吧,第一个办法是很好,一劳永逸,不需要每次为项目手工引入 android.jar (假定第二种方案是可行的)。

上面讲述的是对于 ADT-0.9.3 + Android sdk 1.6_r1 的源码关联的解决办法,对应于新版 ADT 和 Android SDK 或许会容易些。

参考:1. Browsing Android Source in Eclipse
2. http://www.cnmsdn.com/html/201103/1300269607ID9694.html


现在用 Eclispe 3.6 + ADT 10 + Android SDK r10 又可以像普通 jar 包那样关联源代码了。

本文链接 https://yanbin.blog/eclipse-android-jar-attach-source-code/, 来自 隔叶黄莺 Yanbin Blog

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments