【databinding】Exception while handling step android.databinding.annotationprocessor.ProcessExpression

     最近一个新同事加入,他用的windows,拉代码之后跑不了,一直报错,看起来是databinding的问题。

Error:Execution failed for task ':app:compileBetaDebugJavaWithJavac'.
> java.lang.RuntimeException: failure, see logs for details.
Exception while handling step android.databinding.annotationprocessor.ProcessExpressions@6b544592 javax.xml.bind.UnmarshalException
 - with linked exception:
[org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8 sequence.]
   at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:333)
   at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:563)
   at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:249)
   at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:214)
   at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
   at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:204)
   at android.databinding.tool.store.ResourceBundle$LayoutFileBundle.fromXML(ResourceBundle.java:634)
   at android.databinding.annotationprocessor.ProcessExpressions$IntermediateV2.appendTo(ProcessExpressions.java:278)
   at android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:82)
   at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:189)
   at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.access$000(ProcessDataBinding.java:174)
   at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:79)
   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.access$1800(JavacProcessingEnvironme

     于是google,说是使用了databinding的xml文件中有中文。奔溃ing。没办法只能全局搜索然后改成string引用。类似以下这些全部改掉就好了

android:text="@={‘¥’+viewModel.rechargeMoney}"
或者
android:text="@={‘-’+viewModel.rechargeMoney}"
又或者
android:text="@={‘退’+viewModel.rechargeMoney}"
 等等。。。

改成以下这种形式就可以了

android:text="@={@string/text+viewModel.rechargeMoney}"




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值