ViewBinding生成的类经常在一些不经意的操作之后爆红,说找不到,虽然不影响运行,但是看起来很不爽,即便你能看到生成类就在那躺着,但是AS就是说找不到。既然它自己找不到,那就给它指个路。
在app下的build.gradle添加配置,将生成的文件手动添加进去即可
1 2 3 4 5 6 7
| android { sourceSets { debug { java.srcDirs = ['src/main/java', 'build/generated/data_binding_base_class_source_out/debug/out'] } } }
|
当然,也可以包含完整的资源
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| android { sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] jniLibs.srcDirs = ['libs'] res.srcDirs = ['src/main/res'] java { srcDirs = ['src/main/java'] exclude 'src/ignoreDir' } } debug { java.srcDirs = ['src/main/java', 'build/generated/data_binding_base_class_source_out/debug/out'] } release { java.srcDirs = ['src/main/java', 'build/generated/data_binding_base_class_source_out/release/out'] } } }
|
但是,这样会带来另外一个问题,原本点生成的ViewBinding生成类,是跳转到对应的xml布局文件中,当添加了资源目录后,跳转到的就是生成的类文件了。原因是,加入到sourceSets后,生成类文件就被IDE当成普通的类文件处理。我觉得,相比于爆红,这个倒是可以接受的,不通过生成类跳转便是了。