在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之查看外部依赖jar的源代码_android private libralies does not allow modifications to source的更多相关文章

  1. java -jar命令运行jar包时指定外部依赖jar包 linxux or windows

    前尘回顾: setup.bat [chenquan@hostuser tartest]$ cat ../setup.sh javac -encoding UTF-8 -Djava.ext.dirs=. ...

  2. 解决Gradle生成Eclipse支持后,发布到Tomcat丢失依赖jar包的问题

    最近一个项目中,使用号称下一代构建工具的Gradle构建项目. 使用中发现一个问题,Gradle从中央库下载的jar文件在系统的其它目录,使用gradle eclipse添加Eclipse支持时,ja ...

  3. 【android】在Eclipse在联想引jar包源代码

    (前提是你有jar包源代码!!) .确保Referenced LIbraies下已经有该jar包,否则的话,右击该jar包选build path->add to build path. 二.右键 ...

  4. Android下查看共享库依赖项

    Android下查看共享库依赖项 [时间:2017-02] [状态:Open] [关键词:android,共享库依赖项,so,ndk,objdump,readelf] 起因 近期在处理Android下 ...

  5. Android Studio报错Unable to resolve dependency for ':app@release/compileClasspath':无法引用任何外部依赖的解决办法

    Android Studio 在引用外部依赖时,发现一直无法引用外部依赖.刚开始以为是墙的问题,尝试修改Gradle配置,未解决问题. 最终发现原来是在Android Sudio安装优化配置时,将Gr ...

  6. Android 查看项目依赖树的四种方式

    Android 查看项目依赖树的四种方式: 方式一: ./gradlew 模块名:dependencies //查看单独模块的依赖 ./gradlew :app:dependencies --conf ...

  7. eclipse查看jar包源代码乱码问题解决

    文章来源 今天在eclipse中查看java的jar包中的源代码时,显示的全部是乱码.起初只设置了content types还不行,还是乱码.不过问题最后解决了,配置步骤如下: 首先要知道你需要配置的 ...

  8. [Android]使用Dagger 2依赖注入 - DI介绍(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5092083.html 使用Dagger 2依赖注入 - DI介 ...

  9. [Android]使用Dagger 2依赖注入 - 图表创建的性能(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5098943.html 使用Dagger 2依赖注入 - 图表创 ...

随机推荐

  1. UltraEdit配置python和lua环境

    [语法高亮] 在UltraEdit的wordfile中添加python和lua的语法支持(红色的为python,蓝色的为lua): /L10"Python" Line Commen ...

  2. Flexigrid去掉列选择

    Flexigrid中会出现列选择的小黑箭头,有时挺讨厌,想去掉.发现没有控制的地方,于是自己加. 在flexigrid.js中增加 在定义中增加 p = $.extend({ //apply defa ...

  3. doT js模板入门

    doT.js github地址: doT.js 官方站点 实例1:简单 <!DOCTYPE html> <html lang="en"> <head& ...

  4. java中synchronized的使用方法与具体解释

    Java语言的keyword.当它用来修饰一个方法或者一个代码块的时候,可以保证在同一时刻最多仅仅有一个线程运行该段代码. 一.当两个并发线程訪问同一个对象object中的这个synchronized ...

  5. find . -iname "*.jpg"|xargs -i mv {} .;for i in `ls`; do mv -f $i `echo $i | sed 's/JPG/jpg/'`; done

    find . -iname "*.jpg"|xargs -i mv {} .;for i in `ls`; do mv -f $i `echo $i | sed 's/JPG/jp ...

  6. 响应VC++ 标题栏右边的关闭按钮“红叉”

    击标题栏右边的关闭按钮“红叉”时,程序会向窗口发送WM_CLOSE消息,因此可以截取此消息在窗口关系前做一些提示或者是不允许点击时关闭程序 case WM_CLOSE: if (...) { Post ...

  7. Leetcode-Database-176-Second Highest Salary-Easy(转)

    leetcode地址:https://oj.leetcode.com/problems/second-highest-salary/ 这个问题很有趣,是要求我们写个sql来查询Employee表里第二 ...

  8. Java程序员须知的七个日志管理工具(转)

    Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm 英文原文:T ...

  9. HDU1385 【输出字典序最小的最短路】

    这题经过的结点比较好处理. 主要是字典序的处理. 先是floyd做法,采用记录后驱的方法.  path[i][j]=j[初始化...] #include <iostream> #inclu ...

  10. 基于三星I9250演示自己弄的Miracast功能-手机对手机

    最终把Miracast功能測试通了,为了节省时间.我的Source端和Sink端都採用同一个机型.这样能够降低我为目标机编译4.4.2源码所耗费的时间.今天简单录制了一段视频.视频是用手机录制的,室内 ...