Android-Studio关联Android-SDK源码(Windows&Mac)

5,129 阅读2分钟

系列文章:

Android 系统源码查看的几种方式
Android Studio关联Android SDK源码(Windows&Mac)

在Android开发过程中,如果想进一步了解触摸事件分发、Message等工作机制,我们需要查看Android SDK源码,那么Android Studio如何关联源码呢?

  • 下载相应SDK源码版本

在Android Studio里点击"Tools->SDK Manager,进入如下图:
image.png 每个版本的SDK都有相应的源码,这里选择Android 10.0(api 29)。下载完成后,再次进来时状态会显示为“Installed”,说明下载成功了。

  • 查看SDK源码

现在源码已经下载完成了,我们该怎么查看呢? 我们现在要查看Activity源码,快速双击键盘“shift”按键,弹出输入框。 image.png 勾选右上角“Include non-project items”选项,并输入待查的类:“Activity”, image.png 可以看到,我们已经搜出Activity类文件了,就是刚下载的api 29源码下的文件。

  • 查看指定版本的SDK源码

我们现在查看的是api 29(Android 10.0)的源码,但是现在我们想看看更早一些的版本如api 28(Android 9)对比区别,该怎么做呢?也许你会想,还是按照之前的步骤来再来一次呗,没错,我们先下载api 28的源码。 image.png

再在Android Studio里搜索 image.png

没有api 28,只有api 29。 网上很多说法是将jdk.table.xml文件配置修改 image.png

查看得知,我们的配置是没问题的,不需要修改,那为什么在Android Studio里查看不到源码呢? 实际上和我们build.gradle里配置的compileSdkVersion值有关,我们之前配置的是compileSdkVersion 29 现在改为compileSdkVersion 28 image.png 再次查看,就可以找到api 28源码下的Activity类了 image.png 当然,我们想同时查看api 28 api 29的源码,但是又不想改动build.gradle里的值。这个时候我们可以新建一个临时的module作为Library,将其build.gradle里的值改为我们想要的。 image.png 如上图,我们就可以随时切换api 28和api 29的源码了。

  • 总结

  1. 在关联源码的时候,我们不用修改jdk.table.xml文件配置,当我们下载好源码时,该文件会更新,或者我们直接点把该文件删除,下次Android Studio重启后会自动生成。
  2. 本文演示基于Mac Android Studio 3.5 ,Windows上和Mac上关联源码的操作差不多