java.lang.NullPointerException 当 dataBinding 启用时 = true

java.lang.NullPointerException when dataBinding enabled = true

每当我在我的应用程序中启用它时 gradle

dataBinding { 
    enabled = true
}

然后同步->完全成功

但是当我 "run" 它时,它构建失败并显示此错误

java.lang.NullPointerException at android.databinding.tool.store.LayoutFileParser.parseOriginalXml(LayoutFileParser.java:135) at android.databinding.tool.store.LayoutFileParser.parseXml(LayoutFileParser.java:93) ...

我的应用程序Kotlin代码量很少,android版本是3.5,minSdkVersion 19,targetSdkVersion 28,升级到androidX

我该如何解决这个问题?我应该搜索哪一部分来解决这个问题???

除了上面的代码,一切都很完美。


编辑 当我在升级到 androidX 之前回滚我的代码并编译它时,它也显示 "Null point exception" 并且此时,除了 "Null point exception".[=13= 之外没有额外的消息]


终于得到答案了。 (cc.android databinding error:Execution failed for task ':app:dataBindingProcessLayoutsDebug')

我猜是因为BOM。有人说在两种不同的情况下使用代码(Window和Mac)时会发生这种情况。

因此,在 'res' 文件夹中,我在 android 工作室中单击了 'remove BOM' 按钮,该操作更改了一些 xml 文件。

<?xml version="1.0" encoding="utf-8"?>

但它在 Mac 中不起作用。此解决方案仅适用于 Window.

我尝试了太多,但我想通了。我在 Mac 计算机上创建了项目,后来切换到 windows 时没有问题。当我尝试创建一个新文件时,我遇到了这个错误,我才明白为什么。每次我右击刚刚添加的文件时,我都会看到一个名为 "remove BOM" 的选项。单击此解决了我的问题。但是我并没有从逻辑上找到问题的解决方案,我只是随机发现。

例如:https://prnt.sc/riw6ex