Databinding找不到符号以及定位as错误位置

最近自己想开发一个项目练练手,项目中用到Databinding,我也是刚入手Databinding,使用起来还是发现很多问题,其中遇到Databinding报找不到符号的Bug,找了老半天各种谷歌百度都说是xml文件错误的问题引起的。但是我确定xml没问题,始终找不到问题出现的那里。如下图所示:

a.png

自从as升级到3.0之后很难定位到具体的错误位置,有时候as老是报compileDebugJavaWithJavac的错误,但就是定位不到具体的哪行代码。
a.png

百度之后发现了一个不错的定位as报错的方法(这里),经测试终于找到Databinding报找不到符号的Bug的位置了。
这里先简单介绍下这个工具的使用步骤:
第一步打开你的命令管理器,定位到你所在project的gradle文件(不是module的目录)所在的目录
b.png

第二步如上图所示我这边as报的是compileDebugJavaWithJavac错误,直接在命令中输入gradlew compileDebugJavaWithJavac就ok了
c.png
通过命令窗口可以定位出错误信息如图所示
d.png
从打印出来的错误信息知道了有一个Sqlite的语法错误,原来我项目中Room数据库用到的User类主键id定义的是string可空,然后果断把id改成int类型就编译通过了

@PrimaryKey
    private String id;
    private String username;
    private String avatar;
    private int age;

可是我想这和Databinding没半毛钱关系啊,Databinding居然报找不到符号并且as也不定位出具体的错误,以后用Databinding还是要仔细点好。

你可能感兴趣的:(Databinding找不到符号以及定位as错误位置)