Android R文件或ViewBinding文件报红但项目可以正常运行可能的原因

291 阅读1分钟

最近遇到了R文件和ViewBinding文件报红的问题,但项目是能正常运行的。说明代码肯定没问题,应该是哪个配置出了问题。

android {
    sourceSets {
        debug {
            java.srcDirs = ['src/main/java', 'build/generated/data_binding_base_class_source_out/debug/out']
        }
    }
 }

这种方式确实可以处理ViewBinding爆红的问题,但是点击跳转只能跳转到build/generated/data_binding_base_class_source_out/debug/out这个生成目录中,无法到对应的布局文件上,而且也没法处理R文件爆红的问题。

  • 经过本人的对比和尝试,可能的原因是AS版本较高,而Android Gradle 插件版本过低导致(可能<7.3),就是Manifest文件没有自动生成package,而是在build.gradle文件里面添加了namespace字段,导致无法识别到引用文件。

在Manifest文件里面添加package字段后rebuild后就能成功识别了,如下:

<manifest
    package="你的包名">