最近自己想开发一个项目练练手,项目中用到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还是要仔细点好。
网友评论