android data binding实践之:源码的正确打开姿势
最近在深入学习android data binding库,一边写demo,一边看库的源码。但是在导入android data binding库的时候却遇到了各种麻烦。各种谷歌未果,最后折腾了一天终于找到了正确打开源码的姿势。这里mark一下给同样踩坑的人。
首先献上data binding库的源码仓库地址
git clone https://android.googlesource.com/platform/frameworks/data-binding
因为代码是使用gradle进行编译的,所以自己刚导入代码的时候简直就是心花怒放(相比那些使用maven、ant之类进行,gradle还是要来得更加亲切的)。但是实际上,踩坑之旅这才刚刚开始。
谜之”version.gradle”
android studio刚导入代码立马就看到了下面的编译错误:
Error:Could not read script ‘/Users/lemon/Documents/buildSrc/base/version.gradle’ as it does not exist.
我将源码放在了 /Users/lemon/Documents/ 目录下,但是这 version.gradle 究竟是何方神圣呢?使用全局搜索很快就在propLoader.gradle 这个文件中找到了引用,代码节选如下:
// load android gradle plugin's version file
apply from: "${root}/../buildSrc/base/version.gradle"
databindingProperties.version = ext.buildVersion
// load version from gradle build file
apply from: "$root/../buildSrc/base/version.gradle"