sourceinsight

优点:软件小,只有20M左右,而且可以查看所有的语言源码,包含吃吃c++、java、cust等,在使用source insight 新建工程,然后导入源码,导入时候,最好只选择你感兴趣的源码,例如

Android studio查看本地修改代码行数 android studio如何查看源码_文件搜索

以上截图的frameworks目录,对于Android framework中间件工程师的研发人员,为了加快source insight的检索速度,就只添加这个目录,有些framework的代码还需要在 

Android studio查看本地修改代码行数 android studio如何查看源码_android_02

以上目录添加需要的模块,例如最新的Android源码 蓝牙fluoride协议的实现基本上都放在modules目录里面。

为了方便在阅读代码时候,按住ctrl键+点击鼠标就能沟通跳转到对应的函数实现,在我们在新的工程添加源码后,要在菜单里面选择同步选项,进行强制同步,要不然source insight可能不会自动同步代码。

缺点:

  • 如果找到了某一个需要改动的代码位置,代码提示功能太弱了,这样你不得不去找到对应的接口函数复制过来使用。
  • 还有就是搜索功能,尤其是关联搜索智能化比较差,有时候可能搜索不到你想看到的接口实现位置 
  • 实现或定义的跳转,有时候跳转不过去,没办法自动建立索引
  • 源码文件搜索只能在右边的文件管理标签里面找对应的源码文件

vscode

vscode看aosp源码缺点太多了,我第一次安装上之后,把整个源码目录全部打开导入,然后通过ctrl+p命令查找对应源码文件时候,一直卡那不动,估计vscode不适合大型源码。源码比较少的可以使用它。

android studio

失败的方法(没有外网情况下)

在source insight和vscode 查看aosp源码体验都没有达到自己预期之后,就果断下载Android studio,当然这里也走了不少弯路,尤其当你的环境没办法的情况下,像Android sdk相关的工具都没法下载。所以我这边只能把它当做Android源码阅读和代码修改使用。 

网上很多人使用以下方法建立aosp源码关系来导入

mmm development/tools/idegen

但是这个方法,存在的问题就是,一直在scanning files,还有indexing一直等着,至少我放那里一晚上都没有完成,大概率是要上Google被禁的一些网址被卡住导致。

成功办法

首先,在Android studio里面,选择"File" ->"open"打开aosp源码目录

接着,"File" ->"Project Structure"打开以下窗口,把我们需要建立索引的文件夹标注为Sources,需要一直把对应的文件夹里面所有项目递归全部标注为Sources,最后点击ok和apply,就建立起源码内函数或者类关键词的索引关系,建立起后会自动存来,下次再次重新打开Android studio 无需重新再这样操作。

Android studio查看本地修改代码行数 android studio如何查看源码_android_03

最后,还要把我们依赖的相关库源码位置加载到我们的工程,依赖的的JAVA版本要添加,这个根据提示一步一步添加即可

Android studio查看本地修改代码行数 android studio如何查看源码_文件搜索_04

这样我们的Android studio asop源码开发环境就搭建好了,跟source insight和vscode相比较,源码文件搜索很快,函数实现跳转很智能化,最重要的是在自己添加代码时候,提示功能很好,提高代码编写效率。