Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio正确编译项目,Gradlew未启用数据绑定_Android_Gradle_Gradlew - Fatal编程技术网

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

Android Studio正确编译项目,Gradlew未启用数据绑定,android,gradle,gradlew,Android,Gradle,Gradlew,在大量的谷歌搜索和搜索之后,我无法充分找到解决问题的方法 问题是: 我的项目目前启用了数据绑定v2,在我的XML中,我确实有视图模型属性的双向数据绑定 Android Studio(v3.5.3)能够很好地编译项目,并且没有任何错误 使用命令行工具/gradlew assembly将导致 javax/xml/bind/JAXBException 解决方案: 在Google上有一些提示,关于这个库从Java8->Java11所做的更改。我不完全确定这是什么变化,但Java11不包括编译应用程序所

在大量的谷歌搜索和搜索之后,我无法充分找到解决问题的方法

问题是: 我的项目目前启用了数据绑定v2,在我的XML中,我确实有视图模型属性的双向数据绑定

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

使用命令行工具
/gradlew assembly
将导致

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

成功的步骤:

  • 卸载OpenJDK 11或更高版本
  • 运行以下命令
  • 现在运行
    /gradlew assembly
    应该可以正常工作 这解决了什么问题
  • 快车道无法建造
  • gradlew无法构建
  • 结论 进一步的谷歌搜索让我找到了几篇与OpenJDK 11相关的文章。显然,AndroidStudio还不支持OpenJDK11,但AndroidStudio 4.x将支持OpenJDK11。 -

    我知道这不是一个“实际”的问题,但我把这个问题留在这里,希望其他超级沮丧的人(像我一样)会发现这个潜在的解决方案很有用,希望谷歌能将这篇文章编入索引:)

    请参阅上面的详细解决方案 太长,读不下去了 成功的步骤:

    卸载OpenJDK 11或更高版本 运行以下命令 brew tap采用openjdk/openjdk brew cask安装采用OpenJDK8
    现在正在运行。/gradlew assembly应该可以正常工作。

    请使用问题的编辑链接添加其他信息。回答后按钮只能用于完整回答问题。-@内森在回答中说,细节在原始问题中。我在回答部分进行了编辑,以反映完全相同的解决方案。我没有使用“发布答案按钮”,我在制定问题时勾选了“QA风格”。谢谢你的反馈。
    brew tap AdoptOpenJDK/openjdk
    brew cask install adoptopenjdk8