Android Data binding 'Error:cannot generate view binders java.lang.NullPointerException'
Android Data binding 'Error:cannot generate view binders java.lang.NullPointerException'
由于数据绑定,我在制作项目时遇到错误。
我无法理解他们的日志和异常堆栈跟踪。
整个年级控制台错误显示
失败:构建失败,出现异常。
- 出了什么问题:
任务“:app:compileFlavorSuperwiseDebugJavaWithJavac”执行失败。
java.lang.RuntimeException: failure, see logs for details.
cannot generate view binders java.lang.NullPointerException
at android.databinding.tool.reflection.ModelMethod.isBoxingConversion(ModelMethod.java:155)
at android.databinding.tool.store.SetterStore.isBetterParameter(SetterStore.java:946)
at android.databinding.tool.store.SetterStore.getBestSetter(SetterStore.java:838)
..
...
.....
at android.databinding.tool.store.SetterStore.getSetterCall(SetterStore.java:672)
at android.databinding.tool.Binding.getListenerParameter(Binding.java:164)
at android.databinding.tool.CompilerChef.sealModels(CompilerChef.java:200)
at android.databinding.annotationprocessor.ProcessExpressions.writeResourceBundle(ProcessExpressions.java:149)
at android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:82)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:154)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.access[=10=]0(ProcessDataBinding.java:139)
at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:66)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access00(JavacProcessingEnvironment.java:91)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:85)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:154)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.access[=10=]0(ProcessDataBinding.java:139)
at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:66)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access00(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
... 90 more
消息日志是这样说的
Error:cannot generate view binders java.lang.NullPointerException
Error:java.lang.RuntimeException: java.lang.RuntimeException:
failure, see logs for details.
Error:java.lang.RuntimeException: failure, see logs for details.
根据我的阅读,我已经确定了三元运算符中的原始数据类型转换。
我仍然不知道是哪个模型/绑定导致的。
代码中有很多 Spinner、Edittext 与 InverBinding Adapter 和 BindingAdaptor 的绑定。我知道没有代码很难指出错误。但是我的整个项目都带有数据绑定。我不知道要 post 哪一个。您能否阐明我如何知道编译失败的地方?
谢谢
我刚刚找到了如何通过切换 gradle 版本来获取错误详细信息。
我只是从
更改了等级版本
classpath 'com.android.tools.build:gradle:2.2.0'
到
classpath 'com.android.tools.build:gradle:2.0.0'
这个post对我也有帮助
希望这对某人有所帮助。
由于数据绑定,我在制作项目时遇到错误。 我无法理解他们的日志和异常堆栈跟踪。
整个年级控制台错误显示
失败:构建失败,出现异常。
- 出了什么问题:
任务“:app:compileFlavorSuperwiseDebugJavaWithJavac”执行失败。
java.lang.RuntimeException: failure, see logs for details. cannot generate view binders java.lang.NullPointerException at android.databinding.tool.reflection.ModelMethod.isBoxingConversion(ModelMethod.java:155) at android.databinding.tool.store.SetterStore.isBetterParameter(SetterStore.java:946) at android.databinding.tool.store.SetterStore.getBestSetter(SetterStore.java:838)
.. ... .....
at android.databinding.tool.store.SetterStore.getSetterCall(SetterStore.java:672)
at android.databinding.tool.Binding.getListenerParameter(Binding.java:164)
at android.databinding.tool.CompilerChef.sealModels(CompilerChef.java:200)
at android.databinding.annotationprocessor.ProcessExpressions.writeResourceBundle(ProcessExpressions.java:149)
at android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:82)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:154)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.access[=10=]0(ProcessDataBinding.java:139)
at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:66)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access00(JavacProcessingEnvironment.java:91)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:85)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:154)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.access[=10=]0(ProcessDataBinding.java:139)
at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:66)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access00(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
... 90 more
消息日志是这样说的
Error:cannot generate view binders java.lang.NullPointerException
Error:java.lang.RuntimeException: java.lang.RuntimeException:
failure, see logs for details.
Error:java.lang.RuntimeException: failure, see logs for details.
根据我的阅读,我已经确定了三元运算符中的原始数据类型转换。 我仍然不知道是哪个模型/绑定导致的。
代码中有很多 Spinner、Edittext 与 InverBinding Adapter 和 BindingAdaptor 的绑定。我知道没有代码很难指出错误。但是我的整个项目都带有数据绑定。我不知道要 post 哪一个。您能否阐明我如何知道编译失败的地方?
谢谢
我刚刚找到了如何通过切换 gradle 版本来获取错误详细信息。 我只是从
更改了等级版本classpath 'com.android.tools.build:gradle:2.2.0'
到
classpath 'com.android.tools.build:gradle:2.0.0'
这个post对我也有帮助
希望这对某人有所帮助。