Android源码阅读姿势

语言: CN / TW / HK

最近在看《Android进阶解密》一书,需要参阅系统源码,所以在win平台折腾了一下AOSP源码阅读环境,下面将过程记录下,以供参考。

下载源码

以AOSP-8.0源码为例

下载链接 提取码: kaae

压缩文件大小8.6G,解压后26G,需要注意下磁盘空间

下载完先不着急解压,继续往下看

开启目录大小写支持

众所周知,windows分区是不区分文件大小写的,但是aosp中有些目录和文件名称完全一致,只是大小写不同,所以直接解压会导致源码不完整(会覆盖),从而影响阅读,但好在Windows10-17107开始,支持按目录区分大小写,但是需要手动开启。

以管理员身份运行 PowerShell 并使用以下命令

开启

bash fsutil.exe file setCaseSensitiveInfo <path> enable

关闭

bash fsutil.exe file setCaseSensitiveInfo <path> disable

还是不着急解压,继续往下看。。。

配置windows defender

windows defender是自win10开始自带的一个保护系统安全的综合工具,默认是启用的,并且会开启全盘实时保护,如果不加以配置,那对于AOSP庞大的源码文件,系统将实时进行扫描,这会很影响性能,我们需要手动添加排除目录,让其忽略AOSP目录。

步骤如下

windows defender->病毒与威胁防护->"病毒与威胁防护"设置->添加或删除排除项

终于可以解压源码了!!

Source Insight导入源码

阅读工具推荐使用Source Insight,轻量且功能丰富,对于aosp中的多种开发语言支持完善。

首先新建一个项目

选择上面解压的源码路径

微信截图_20230305121146.png

image.png

添加要阅读的部分

建议目前要研究哪块就先添加哪块,全部添加会影响性能,也没有必要。

以frameworks为例,选中该目录后,点击Add Tree,就会将该目录以及子目录中的文件都添加项目中

image.png

添加完之后,点击Close,就会进入项目主页面

Source Insight配置优化

下面说一下我个人喜欢的一些配置

image.png

个人习惯将界面配置成上面的布局样式,可以参考下

  • 布局1是当前文件内的变量和方法列表,可以快速检索需要查看的代码
  • 布局2是阅读窗口,在窗口左侧右键单击可以开启行号显示,右侧的小地图开启方式是,顶部菜单栏View->Overview
  • 布局3是项目文件列表,可以在顶部输入文件名进行检索
  • 布局4是上下文窗口,开启方法(View->Panels->Context Window) 当你在布局2中点击某个方法或者变量时,该窗口会出现该方法或者变量定义的地方
  • 布局5是引用窗口,开启方法(View->Panels->Relation Window) 会实时显示你选中的函数或者方法被引用的位置
「其他文章」