Android Studio 正确编译项目,Gradlew 没有启用数据绑定



经过广泛的谷歌搜索和搜索,我无法充分找到解决问题的方法。

问题:

我的项目当前启用了数据绑定 v2,在我的 XML 中,我确实有用于视图模型属性的 2 路数据绑定。

Android Studio (v3.5.3( 能够很好地编译项目并且没有任何错误

使用命令行工具./gradlew assemble<Release_type>将导致

javax/xml/bind/JAXBException

解决方案:

在Google和SO上有一些关于Java8 -> Java11对此库所做的更改的提示。 我不完全确定这种变化是什么,但 Java11 不包括编译应用程序所需的任何库。经过进一步检查,我意识到我运行的是OpenJDK 11而不是OpenJDK 8。 根据各种消息来源,此问题的解决方案是 安装OpenJDK 8.

成功步骤:

  1. 卸载 OpenJDK 11 或更高版本
  2. 运行以下命令
brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8
  1. 现在运行./gradlew assemble<release_type>应该按预期工作。

这解决了什么

  1. 快车道无法建造
  2. 格拉德卢无法建造

结论

进一步的谷歌搜索让我看到了几篇与OpenJDK 11相关的文章。 显然,Android Studio还不支持OpenJDK 11,但Android Studio 4.x会。 - 参考资料

我知道这不是一个"实际"的问题,但我把它留在这里,希望其他任何超级沮丧的人(比如我自己(发现这个潜在的解决方案有用,并希望谷歌索引这篇文章:)

有关详细解决方案,请参见上文

TLDR

成功步骤:

卸载 OpenJDK 11 或更高版本 运行以下命令 brew tap AdoptOpenJDK/openjdk 冲泡桶安装采用OpenJDK8 现在运行 ./gradlew 汇编应该按预期工作。

最新更新