如何用Android Studio查看build.gradle源码
2018-01-03 · 知道合伙人软件行家
我们来举个例子,就像系列一的博客里介绍的 build.gradle 里有这样一段代码:
咦!这代码是第一次在 build.gradle 里看见过,是什么意思呢?不怕,我有绝招:
Android Studio大法---看源码,还有什么是不能通过看源码注释解决的么
是跳到源码了,可是为什么没有方法的注释说明呢,这方法是什么鬼谁知道啊。再仔细看看 as 的提示,原来打开的是个 class 文件啊。
as 的提示那里应该会有个下载和选择源码位置的按钮的啊,搞不懂为什么不出现。
另外,我们知道,as 一般会默认先打开 xxx-sources.jar 也就是 xxx 的 java 文件源码,如果没有源码文件,才会打开 xxx.jar 的 class 代码。我们看一下,打开的是什么文件。
没错,as 打开的是 gradle-2.3.0.jar,说明 as 没有找到 gradle-2.3.0-sources.jar 源码文件,我们看一下到底是不是这样
as 标题栏会显示你当前打开的文件的具体位置,好了,知道了 gradle-2.3.0.jar 在电脑里的位置了,我们到那个目录下看看
只有一个 gradle-2.3.0.jar 文件和一个 pom 文件,正常的话应该还要有个 xxx-sources.jar 文件才对,就像下面这样
因为这里没有 gradle-2.3.0-sources.jar 文件,所以 as 没办法打开带有方法注释的源码文件了。既然知道问题,那么就好解决了,as 的提示条也没有下载的按钮,那我们就自己去下载好了
打开 maven 网站,在这里可以下载 gradle 插件。在搜索框中输入 com.android.tools.build,为什么输入这个,你打开 project 下的 build.gradle 文件看看就知道了
这些就是 gradle 插件,我们在根目录下的 build.gradle 配置的 gradle 版本其实就是来这里下载的,应该是吧。
下载后得到的就是这些文件了,接下去就是找到相应文件的位置,复制一份过去
打开相应的插件文件夹,选择相应的版本,最后将下载的 xxx-sources.jar 复制一份进去,最后的样子如下
好了,大功告成,我们再打开 as,记得 ReBuild 一下,然后再试试查看 build.gradle 源码会是什么样子
翻译一下英文大概就是说, lintOptions.abortOnError = false 是设置即使 lint 检查时发现错误也不停止构建程序的运行。
这种方法比去官方的 api 文档里查阅方便多了吧。再来看看几个效果。
这里就可以看到源码里介绍 Plugin 的值都有哪些,分别对应哪个类,该去哪个类看它的作用是什么,干什么的。
借助 as,我们甚至可以很容易的查到 android{...} 这个括号里能使用的方法都有哪些,如果要看各自的作用是干什么的,再继续点进去查看注释就行了。是不是发现,我们在 build.gradle 里的 android{...} 使用过的标签名原来都在这里的啊。
以后就算是再碰到大神的 build.gradle 文件里各种没看见过的标签名,不用再担心看不懂了。不懂就看源码注释嘛,so easy!
当然,大神的 build.gradle 文件里还是会出现一些 groovy 代码或者是 task 之类的,这些就不是 gradle 源码里能够查到的了,需要稍微了解一下 groovy 和 gradle 语言的基础,有兴趣的可以继续阅读下我写的这个系列里的相关博客,当然能力不够,如果你希望更好的学习,网上资料也很多。