Android查看jar包源码问题
2016-01-22 14:05
423 查看
在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 the sources and javadoc to 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
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.
Close and 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.
Example: GSON
library
Contents of gson-2.2.2.jar.properties
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
即可解决查看源码的问题,也可使程序正常执行。
在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.
最普遍常见的是android-support-v4没法看到其中的注释和源代码,鼠标放到类上提示:
Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found.
一般来说如果环境配置好了,Android的所有类和所有方法都能看到其代码和注释,以下分两步,将注释和代码全部配置正确。
1.Android本身jar包的源代码
这里假设已经把需要下载的都下载下来了,右键项目====》build path====》configure build path
在libraries里选择Android x.x.x里面有Android.jar,这就是开发时所依赖的Android本身的sdk的jar包,点开,里面有两个需要配置,
source attachment和javadoc location,前者是源代码,配置好后可实现ctrl+鼠标左键直接点开想看的Android的类,
后者是源代码的注释文件,配置好后可实现鼠标放在想看到类上,会显示出来这个类或者方法的介绍
选择source attachment配置项,点击右边edit,选择external location===》external folder,然后找到正确的路径,我的是在E:/eclipse/sdk/sources/android-19
选择javadoc location配置项,edit,选择javadoc url===》browse,然后找到正确路径,我的是在file:/E:/eclipse/sdk/docs/reference
完成上面这些就可以正常查看Android内部常用的类注释和源代码了
2.查看外部依赖jar包的源代码
这里假设你已经把外部依赖的jar包正确导入并且编译通过了,但是ctrl+鼠标左键想看代码或者想看其注释却不可行的情况,
首先在libs下面找到引入的包,这里以android-support-v4.jar为例,
在libs下新建android-support-v4.jar.properties文件,即与引用的jar包同名最后加上.properties的文件
其内容如下:
src = E:\\eclipse\\sdk\\extras\\android\\support\\v4\\src
这里路径要根据你自己的路径进行调整,配置之后退出eclipse,在进入,就可以正常查看了。
作者:jason0539
微博:http://weibo.com/2553717707
博客:http://blog.csdn.net/jason0539(转载请说明出处)
往往出现如下提示:
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 the sources and javadoc to 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
.propertiesfile
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.
Close and 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.
Example: GSON
library
<code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;"><span class="str" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">/libs/</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">gson</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">-</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2.2</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2.jar</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">/</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">libs</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">/</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">gson</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">-</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2.2</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2.jar</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">properties </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">/</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">libs</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">/</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">gson</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">-</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2.2</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">-</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">javadoc</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">jar </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">/</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">libs</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">/</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">gson</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">-</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2.2</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">-</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">sources</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">jar</span></code>
Contents of gson-2.2.2.jar.properties
<code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;"><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">src</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">=</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">gson</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">-</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2.2</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">-</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">sources</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.< d4a8 ;/span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">jar doc</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">=</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">gson</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">-</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2.2</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">2</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">-</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">javadoc</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">jar</span></code>
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
即可解决查看源码的问题,也可使程序正常执行。
在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.
最普遍常见的是android-support-v4没法看到其中的注释和源代码,鼠标放到类上提示:
Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found.
一般来说如果环境配置好了,Android的所有类和所有方法都能看到其代码和注释,以下分两步,将注释和代码全部配置正确。
1.Android本身jar包的源代码
这里假设已经把需要下载的都下载下来了,右键项目====》build path====》configure build path
在libraries里选择Android x.x.x里面有Android.jar,这就是开发时所依赖的Android本身的sdk的jar包,点开,里面有两个需要配置,
source attachment和javadoc location,前者是源代码,配置好后可实现ctrl+鼠标左键直接点开想看的Android的类,
后者是源代码的注释文件,配置好后可实现鼠标放在想看到类上,会显示出来这个类或者方法的介绍
选择source attachment配置项,点击右边edit,选择external location===》external folder,然后找到正确的路径,我的是在E:/eclipse/sdk/sources/android-19
选择javadoc location配置项,edit,选择javadoc url===》browse,然后找到正确路径,我的是在file:/E:/eclipse/sdk/docs/reference
完成上面这些就可以正常查看Android内部常用的类注释和源代码了
2.查看外部依赖jar包的源代码
这里假设你已经把外部依赖的jar包正确导入并且编译通过了,但是ctrl+鼠标左键想看代码或者想看其注释却不可行的情况,
首先在libs下面找到引入的包,这里以android-support-v4.jar为例,
在libs下新建android-support-v4.jar.properties文件,即与引用的jar包同名最后加上.properties的文件
其内容如下:
src = E:\\eclipse\\sdk\\extras\\android\\support\\v4\\src
这里路径要根据你自己的路径进行调整,配置之后退出eclipse,在进入,就可以正常查看了。
作者:jason0539
微博:http://weibo.com/2553717707
博客:http://blog.csdn.net/jason0539(转载请说明出处)
相关文章推荐
- Android 时间转换
- Android下怎么使用LDD查看依赖库
- 发送手机短信的倒计时
- Android SDK代理服务器解决国内不能更新下载问题
- Android—AndroidStudio配制
- TextView的重写
- 新手必备的常用 Android 代码片段整理(2)
- Android对大图片进行裁剪避免内存溢出
- Android学习-EditText里面Drawable的点击事件
- Andorid获取本地电话的方法
- Android中的PopupWindow详解
- 用 ViewPager 实现欢迎引导页面
- android 5.0上,阴影elevation无效的问题
- Android编译过程详解
- Android应用程序的生命周期
- Android 用Canvas 画几何图形,画出小黄人
- Android项目点击系统菜单项失效
- Android实现一个记住密码的登陆界面
- Android 关于listview
- activeandroid复制本地数据库问题总结