Android(安卓)无法查看外部依赖jar的源码的问题
在Eclipse中开发android的应用程序时,有时想查看函数的内部实现,但是当在函数上点击ctrl和鼠标左键的时候,
往往出现如下提示:
Class File Editor
Source not found
The JAR of this class file belongs to container 'Android' which does not allow modifications to source attachments on its entries.
因此按照如下操作添加对应的源代码:
选择workspace 里面的项目,点击右键--->Build Path-->configure build path -->liberaries-->选择一个jar包--->点击左侧的展开三角按钮--->
展开后选择Source attachment --->点击右侧的 Edit 按钮--->弹出对话框,并选择External File---->找到指定的源文件压缩包。或者可使用外部源文件目录。点击OK。
进去以后发现还是不能查看,同样的提示!
仔细读英文的后半部分,在libs中直接引用的第三方jar包不让其做任何修改。包括添加源文件参看。
因此在android工程下新建一个lib目录,将jar包从libs转移到lib中。然后重复以上过程。
结果就可以查看了!不过一运行你的程序,马上报错无法找到class的错误。 = =! 死胡同了~
看来只能将第三方jar放到libs了。
有的牛人这样解决了:
In order to link thesources and javadocto a .jar library that is automatically linked by Eclipse you have to do the following.
- Place all three .jar files in the libs folder.
- Create
.properties
file in the libs folder with the name of the library .jar (see example). - Specify the relative paths to the sources and javadoc .jar in the .properties file.
- Closeand re-open the Eclipse project! Optionally refresh the project.
- Select an object of the linked library in the source code.
- Open the Javadoc view in Eclipse to check the documentation (see screenshot).
- Open the source code declaration (default shortcut:F3) of the selected object.
You can of course move the javadoc and sources .jar into other folders and specify relative paths. That's up to you.
但是遗憾的是,弄了半天都没能解决。可能也跟我用的第三方的jar包不规范的原因,而且我没有doc文件。
最终,我想到了一个解决办法:
新建一个lib目录
将需要的jar包全部拷贝到该目录下
依次对每个jar包执行 上面绿色 部分操作
完成后右键lib目录,点击build path--> use as source folder
即可解决查看源码的问题,也可使程序正常执行。
上面粗体字方法,亲测可用。
- 3楼 youz19762014-11-27 23:55发表[回复][引用][举报]
- 想看到百度地图的源代码,按这种方式试了还是不可以
- 2楼 l9962436232014-05-08 00:27发表[回复]
- 在工程的libs目录下新建一个.properties文件,命名为android-support-v4.jar.properties 里面写上
src=D:\\Program Files\\adt-bundle-windowsx-86\\sdk\\extras\\android\\support\\v4\\src这是源码的目录(这是我的源码路径),windows系统要加双反斜杠,Linux不用,就OK了。- Re: cyq10282014-07-25 14:42发表[回复]
- 回复l996243623:太谢谢你的回复了,原来我用的单斜杠,太坑了!
- 1楼 kinkabrain2014-01-16 20:11发表[回复]
- 对于我来说,上面的方式都不行,最后是去修改工程目录下的.classpath 文件,其中 <classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/> 这两行的顺序很重要!
然后在第二行添加jar包对应的源工程:
<classpathentry kind="lib" path="libs/mysdk.jar" sourcepath="/mysdk"/>
更多相关文章
- 手工打包APK
- Myeclispe10+ Android4.4 环境搭建
- Android的通知栏点击后无反应解决办法
- 制作linux根文件系统
- 在已有的Android工程中接入ReactNative
- WebView在Fragment中点击返回键返回上一页
- Android应用程序汉化教程
- 用Eclipse 来导入Android(安卓)工程 总结
- Android在SDcard建文件夹(在Android中移动文件必用)