首页 > 编程知识 正文

简单画人,简单介绍一种你在家使用过的工具

时间:2023-05-05 18:26:53 阅读:19609 作者:92

OpenGrok是一个快速易用的源代码搜索和匹配引擎。 它有助于搜索、匹配和找到你的源树。 可以看到各种程序文件格式和版本控制历史记录。 使用Eclipse和本机源代码可以方便地分析Android源代码,但对Native代码的调用无法在Eclipse快速搜索中显示相应的Native源代码。 此外,在Android源中加载Native库通常不是通过在静态块中调用System.loadLibrary来加载库文件来完成Nandroid的一种方法对于JNI函数,它位于/frameworks/base/core/jni目录下。 如果文件很多,用这种方法进行搜索还很忙,所以这里介绍的是安卓xref。

Android xref 65http://Android xref.com /项目为Android源代码提供了交叉索引,使您可以快速搜索满足特定条件的Android源代码。 后台基于OpenGrok引擎,OpenGrok主要用于源代码中的搜索、交叉索引和导航。 AndroidXRef提供完整的Android源代码的索引,包括内核源代码。 AndroidXRef主页的右侧显示了可用的源版本。 单击相应源版本的链接可以进入相应的源分支,如图1所示。

图1

图2

图2的右侧是在特定目录中搜索的功能。 例如,在分析Framework时,选择frameworks目录可以减少搜索范围,从而更准确地找到所需的源代码。 左侧是以下搜索条件: 在指定的项目(s )下)。

在Full Search:中进行全文搜索时,它与所有单词、字符串、标识符、数字等相匹配。 例如,如果在frameworks下的Full Search中搜索" activity ",则会显示所有结果,包括忽略大小写的activity字符,如图3所示。 单击绿色背景链接可打开包含activity字符串文件的文件夹; 单击左侧的文件名,例如native_activity.cpp链接,打开包含activity字符串的文件; 单击右侧各行的搜索结果链接,也将打开对应文件的内容;

图3完整搜索

• Definition (查找与符号定义相关的代码。 例如,搜索startActivityIfNeeded函数的定义。 如图4所示,搜索结果显示右侧的绿色字体是Activity类中的方法。

图4定义搜索

Symbol :可以搜索搜索符号,例如类中的成员变量等。 图5示出了在Symbol中搜索WINDOW_HIERARCHY_TAG的结果;

图5同步BOL搜索

• File Path :查找包含在源文件名中指定的字符串的文件。 例如,查找文件名中包含活动的文件

如果是的源文件,则可以在文件路径中填写Activity进行搜索。 结果如下;

图6文件路径搜索

当然,也可以将上述搜索方法组合使用。 例如,如果要在Activity.java文件中搜索finish函数的定义,请在Definition中输入finish,在File Path中输入Activity.java进行搜索

结果如图7所示。

图7组合检索

AndroidXRef使用OpenGrok引擎,因此还支持多种其他搜索方法。

指示包含此字符串,-指示包含此字符串。 例如,如果要在Full Search中查找包含activity字符串但不包含service字符串的源文件,可以删除双引号,但双引号不能用双引号引起来此规则适用于所有搜索规则,如完整搜索(Full Search )完整搜索

布尔运算、AND ()、)”、or )|)、NOT )! (和)-) (“与”等必须全部大写) )例如,如果要查找同时包含final和String的源文件,可以在Full Search中输入“) final (与) String”

使用通配符,"? “”表示一个字符,“*”表示多个字符(不能在字符串开头使用“*”)

使用模糊查询、~查找与提供的字符串拼写相似的源文件等。

转义字符,OpenGrok中使用的特殊字符是-|! () ) []^'~*? 3360,因此如果要搜索的内容包含这些特殊字符,则可以使用进行转义。 例如,如果搜索(1) :2,则结果是1(11(1) :2 )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。